मैंने parent.env() के लिए प्रलेखन पढ़ा है और यह काफी सरल लगता है - यह संलग्न वातावरण देता है। हालांकि, अगर मैं enclosing वातावरण की श्रृंखला चलने के लिए parent.env() का उपयोग करता हूं, तो मुझे ऐसा कुछ दिखाई देता है जिसे मैं समझा नहीं सकता। सबसे पहले, कोड ("संक्षेप में आर" से लिया)parent.env (x) भ्रम
library(PerformanceAnalytics)
x = environment(chart.RelativePerformance)
while (environmentName(x) != environmentName(emptyenv()))
{
print(environmentName(parent.env(x)))
x <- parent.env(x)
}
और परिणाम:
[1] "imports:PerformanceAnalytics"
[1] "base"
[1] "R_GlobalEnv"
[1] "package:PerformanceAnalytics"
[1] "package:xts"
[1] "package:zoo"
[1] "tools:rstudio"
[1] "package:stats"
[1] "package:graphics"
[1] "package:utils"
[1] "package:datasets"
[1] "package:grDevices"
[1] "package:roxygen2"
[1] "package:digest"
[1] "package:methods"
[1] "Autoloads"
[1] "base"
[1] "R_EmptyEnv"
हम कैसे शीर्ष पर "आधार" और पर "आधार" की व्याख्या कर सकते तल? साथ ही, हम "पैकेज: प्रदर्शन विश्लेषिकी" और "आयात: प्रदर्शन विश्लेषिकी" कैसे समझा सकते हैं? सब कुछ पहली दो लाइनों के बिना संगत दिखाई देगा। यही है, फ़ंक्शन चार्ट। रिलेवेटिव पैराफॉर्मेंस पैकेज में है: PerformanceAnalytics वातावरण जो xts द्वारा बनाया गया है, जो चिड़ियाघर द्वारा बनाया गया है ... ... आधार और खाली वातावरण के लिए सभी तरह ऊपर (या नीचे)।
इसके अलावा, दस्तावेज इस पर बहुत स्पष्ट नहीं है - क्या पर्यावरण "पर्यावरण" है जिसमें एक और वातावरण बनाया गया है और इस प्रकार parent.env() चल रहा है "सृजन" श्रृंखला दिखाता है?
संपादित
बेशर्म प्लग: मैं एक blog post कि सहज ज्ञान युक्त चित्र के साथ वातावरण, parent.env(), बाड़ों, नाम स्थान/पैकेज, आदि बताते लिखा था।
सभी ने इस सवाल पर योगदान करने के लिए धन्यवाद। जवाब चुनना मुश्किल था क्योंकि सभी पोस्ट – SFun28