यदि हम इन लाइनों का मूल्यांकन एक-एक-एक, x
संदर्भ cc
में बनाए जाएंगे।प्रारंभ [] काम का यह उपयोग क्यों नहीं करता?
Begin["cc`"];
x = 1;
End[]
हालांकि
, अगर हम उन्हें एक साथ मूल्यांकन,
(Begin["cc`"];
x = 1;
End[])
तो x
Global
में बनाया जाएगा।
(Begin["cc`"];
Print[$Context];
End[])
इस व्यवहार के लिए कारण क्या है: यह निम्नलिखित मुद्रण cc`
के बावजूद है? मेरा अनुमान है कि संदर्भ केवल पार्सिंग चरण के दौरान महत्वपूर्ण हैं, मूल्यांकन नहीं।
केस का उपयोग करें: मैं एक पैलेट Button
बनाना चाहता था जो ग्लोबल्स के साथ संघर्ष से बचने के लिए "निजी" संदर्भ में अभी तक मौजूद नहीं है, तो कुछ प्रतीकों को परिभाषित करेगा। यह करने के लिए पसंदीदा तरीका क्या है, सभी परिभाषाओं को पैकेज फ़ाइल में डालने और पैलेट से लोड करने के अलावा? (मैं पैलेट को स्वयं निहित रखना चाहता हूं।)
मैं सिर्फ इतना है कि डॉक्स में पढ़ा है कि "। प्रतीक नाम की व्याख्या संदर्भ पर निर्भर करता' Begin' इस प्रकार इनपुट अभिव्यक्ति के पार्स को प्रभावित करता है। " वह मेरे पहले सवाल का जवाब देता है। दूसरा अभी भी खड़ा है। – Szabolcs