2017-04-21 11 views
5

में 'प्रतीक' या 'स्ट्रिंग` का उपयोग करके समग्र प्रकार के दायर किए गए मान के दायरे को बदलें Symbol या String का उपयोग करके समग्र प्रकार के क्षेत्र का मूल्य कैसे बदल सकता हूं?जूलिया

उदाहरण: मैं जानता हूँ कि मैं mt.x=1 द्वारा मूल्य बदल सकते हैं अगर मैं MyType,

type MyType 
    x 
end 
mt=MyType(0) 

है।

हालांकि, मैं एक चर changed_fieldname = :x या changed_fieldname = x का उपयोग कर एक ही चीज़ कैसे कर सकता हूं?

मैं सीधे क्षेत्र का नाम mt.x=1 के रूप में लिखना नहीं चाहता हूं।

उत्तर

6

उपयोग setfield!:

julia> mt=MyType(0) 
MyType(0) 

julia> changed_fieldname = :x 
     setfield!(mt, changed_fieldname, 1) 
1 

julia> mt 
MyType(1)