Qual è l'equivalente di getthon di Python() in Julia? Ho provato il seguente codice di meta-programmazione, ma funziona solo nell'ambito globale, non nell'ambito di una funzione.Qual è l'equivalente di getattr() in Julia
type A
name
value
end
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
questo stampa:
Alex
1
Tuttavia, se quanto precede è all'interno di un insieme di funzioni, allora non funzionerà
function tmp()
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
end
tmp()
L'errore è:
ERROR: LoadError: UndefVarError: a not defined
MODIFICA: Grazie a tutti per aver risposto alla domanda. Ecco i link alla documentazione di Julia su getfield e setfield!.
Grazie! Aggiungerò il collegamento a getfield() dalla documentazione di Julia (http://docs.julialang.org/en/release-0.4/stdlib/base/?highlight=getfield#Base.getfield) – Steven