जवाबों:
जैसा कि assign()शो के साथ ईसाई का जवाब है , वैश्विक वातावरण में असाइन करने का एक तरीका है। एक सरल, कम (लेकिन बेहतर नहीं ... असाइन के साथ छड़ी) जिस तरह से <<-ऑपरेटर का उपयोग करना है, अर्थात
a <<- "new"
फ़ंक्शन के अंदर।
assignपसंद किया जाता है <<-?
<<-वैश्विक वातावरण तक के परिक्षेत्रों की श्रृंखला को खोजेगा और पहले मिलान वाले चर को खोजेगा । परिकल्पित है, तो आप एक समारोह है, तो f()एक बंद में नेस्ट g()और aमें मौजूद है g(), तो का उपयोग कर a <<-में f()करने के लिए आवंटित करेगा aमें g(), वैश्विक पर्यावरण के लिए नहीं। हालाँकि, यह वही है जो आप चाहते हैं।
मैं कैसे एक में एक वैश्विक चर सेट करने के लिए के लिए एक समाधान पाया मेलिंग पोस्टिंग के माध्यम से असाइन :
a <- "old"
test <- function () {
assign("a", "new", envir = .GlobalEnv)
}
test()
a # display the new value