Julia Python'un getattr() eşdeğeri nedir? Aşağıdaki meta programlama kodunu denedim, ancak sadece bir kapsam dahilinde değil, global kapsamda çalışır.Julia cinsinden getattr() nedir
type A
name
value
end
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
Bu yazdıracaktır:
:Alex
1
Ancak, yukarıda bir işlevin etki alanında ise, o zaman hatadır
function tmp()
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
end
tmp()
çalışmayacak
ERROR: LoadError: UndefVarError: a not defined
DÜZENLEME: Soruya cevap veren herkese teşekkürler. İşte Julia'nın belgelerine getfield ve setfield! arasındaki bağlantılar.
teşekkür ederiz! Julia dokümantasyonundan getfield() 'a bağlantı ekleyeceğim (http://docs.julialang.org/en/release-0.4/stdlib/base/?highlight=getfield#Base.getfield) – Steven