.GlobalEnv में, मैं निम्नलिखित चर परिभाषित और ढंग से कामआर: फ़ंक्शन में डिफ़ॉल्ट तर्क कैसे पारित किया जाता है?
x = 0;
foo <- function(t=x) {x=1; t}
निम्न तरीकों
foo() # gives 1
foo(t=x) # gives 0
किसी को भी मदद कर सकते हैं यह समझाने में जब मैं समारोह कहा जाता है? धन्यवाद!!!
पहले मामले में, फ़ंक्शन जानता है कि इसे 'x' से' t' पास करने की आवश्यकता है। यह अपने अक्षीय दायरे में 'x' की तलाश में है और' x = 1' पाता है। दूसरे मामले में, आप वैश्विक पर्यावरण से 'x = 0' पास करते हैं, इस प्रकार यह इसे फिर से व्याख्यात्मक दायरे में नहीं देखता है और इसे सीधे' t' तक भेजता है। हालांकि अच्छा सवाल है। –
[आलसी मूल्यांकन] पर अधिक पढ़ने (http://adv-r.had.co.nz/Functions.html#function-arguments)। – Gregor
@rawr, क्या आपने देखा [यह] (http://meta.stackoverflow.com/questions/274834/coursera-questions/274835)? :) –