5
मान लीजिए मेरे पास एक ऐसा फ़ंक्शन है जो कुछ तर्क k
लेता है और एक अन्य फ़ंक्शन लौटाता है जो n
तर्क लेता है लेकिन k
अपने फ़ंक्शन बॉडी में उपयोग करता है।पार्स किए गए चर के साथ फ़ंक्शन बॉडी को प्रिंट करने के लिए कैसे करें
makeFn <- function(k) {
function(n){
rep(k,n)
}
}
five <- makeFn(5)
five(3)
# [1] 5 5 5
body(five)
# {
# rep(k, n)
# }
मैं कैसे मुद्रित कर सकते हैं five
के शरीर इतना है कि यह rep(5,n)
बजाय rep(k,n)
पता चलता है?
आपको किसी समाधान की कितनी लचीला आवश्यकता है? क्या नेस्टेड कार्यों के अधिक स्तर हो सकते हैं? इस साधारण मामले के लिए, आप अपने विकल्प "एनवी" तर्क के साथ 'विकल्प' का उपयोग कर सकते हैं। SInce 'विकल्प 'अपने पहले तर्क का मूल्यांकन नहीं करेगा, हमें' eval (कॉल (" विकल्प ", शरीर (पांच), पर्यावरण (पांच)) जैसे कॉल बनाने की आवश्यकता है)' ' –