में getattr() के बराबर क्या है जूलिया में पायथन के गेटर() के बराबर क्या है? मैंने निम्नलिखित मेटा-प्रोग्रामिंग कोड की कोशिश की है, लेकिन यह केवल वैश्विक दायरे में काम करता है, न कि फ़ंक्शन स्कोप के अंदर।जूलिया
type A
name
value
end
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
यह प्रिंट आउट देगा:
Alex
1
हालांकि, अगर इसके बाद के संस्करण एक समारोह दायरे के अंदर है, तो यह काम नहीं करेगा
function tmp()
a = A("Alex",1)
for field in fieldnames(a)
println(eval(:(a.$field)))
end
end
tmp()
त्रुटि है:
ERROR: LoadError: UndefVarError: a not defined
संपादित करें: प्रश्न का उत्तर देने के लिए सभी को धन्यवाद। जूलिया के दस्तावेज के लिंक यहां getfield और setfield! पर दिए गए हैं।
धन्यवाद! मैं जूलिया दस्तावेज (http://docs.julialang.org/en/release-0.4/stdlib/base/?highlight=getfield#Base.getfield) से गेटफील्ड() में लिंक जोड़ूंगा – Steven