में आलसी मूल्यांकन को समझना मैं समझने की कोशिश कर रहा हूं कि आर में कितना आलसी मूल्यांकन है। क्या यह केवल फ़ंक्शन तर्कों के मूल्यांकन पर लागू होता है? क्योंकि मैं समझता हूं, उदा।आर
f <- function(x = x, y = x*2) {
c(x, y)
}
f(2)
[1] 2 4
लेकिन अन्य भाषाओं में, उदा। हास्केल, आलसी मूल्यांकन का मतलब है कि फ़ंक्शन कॉल का मूल्यांकन केवल तभी किया जाता है जब इसका वास्तव में उपयोग किया जाता है। तो मैं एक पल में चलाने के लिए कुछ इस तरह उम्मीद करेंगे:
g <- function(x) {
y <- sample(1:100000000)
return(x)
}
g(4)
लेकिन यह स्पष्ट रूप से आते हैं, हालांकि परिणाम आदत हो नहीं है sample
कॉल मूल्यांकन करता है।
क्या कोई यह बता सकता है कि यह कैसे काम करता है, या मुझे विस्तार से समझाया गया है कि दिशा में मुझे इंगित करें?
इसी प्रकार के प्रश्न:
Question with similar wording, but different problem
मैं हैडली विकहैम की किताब है, जहां वह उल्लेख है की चर्चा करते हुए हूँ: "डिफ़ॉल्ट रूप से, आर समारोह तर्क आलसी हैं, वे केवल, मूल्यांकन किया जाता है, तो वास्तव में इस्तेमाल किया"। क्या यह नवीनतम संस्करणों के साथ सच नहीं है? – Sarang
ध्यान दें कि प्रश्न में यह वाक्यांश शामिल है "क्या यह केवल फ़ंक्शन तर्कों के मूल्यांकन पर लागू होता है?" मेरा जवाब विकम के बयान का खंडन नहीं करता है। –