डी प्रोग्रामिंग भाषा में,डी में, निजी आयात और सामान्य आयात के बीच क्या अंतर है?
private import tango.io.File;
और
import tango.io.File;
के बीच क्या अंतर है?
डी प्रोग्रामिंग भाषा में,डी में, निजी आयात और सामान्य आयात के बीच क्या अंतर है?
private import tango.io.File;
और
import tango.io.File;
के बीच क्या अंतर है?
एक समय था जब आयात public
डिफ़ॉल्ट रूप से था; अर्थात, जब आप एक और मॉड्यूल आयात करते हैं, तो इसकी सामग्री न केवल आपके मॉड्यूल के भीतर दिखाई देगी बल्कि किसी भी मॉड्यूल से भी दिखाई देगी जो आपके को आपके मॉड्यूल आयात करता है।
आखिरकार, यह बदल दिया गया ताकि वे डिफ़ॉल्ट रूप से private
थे।
हालांकि, वहाँ कुछ कारणों से मैन्युअल private
निर्दिष्ट करने के लिए है:
आयात public
बनाया जा सकता है अगर वे एक public
संदर्भ में कर रहे हैं। उदाहरण के लिए:
public:
// Lots of stuff
import blah; // oh no, everyone can see my imports!
डीएमडी आयात से संबंधित कीड़े के साथ teems। उदाहरण के लिए, निजी रूप से निजी होने के बावजूद चुनिंदा आयात डिफ़ॉल्ट रूप से सार्वजनिक होते हैं। यह सभी प्रकार के भयानक दुःस्वप्न परिदृश्यों का कारण बन सकता है जहां प्रतीकों (गलती से) एक मॉड्यूल में सार्वजनिक रूप से आयात किया जाता है, जो कि पूरी तरह से अलग-अलग मॉड्यूल में प्रतीकों को गायब कर देता है और आपके प्रोग्राम को तोड़ देता है।
दूसरे शब्दों में, वे शायद private
टैंगो में हैं क्योंकि devs भी इस चीज सही पाने के लिए यह विश्वास करने के लिए लंबे समय के लिए डीएमडी साथ काम किया है।
डी 2.0 में, private import
import
के समानार्थी है, public import
के विपरीत। डिफ़ॉल्ट रूप से, आयात निजी हैं। Modules documentation
संपादित करें: डिफ़ॉल्ट रूप से, आयात निजी D 1.0 भी हैं।
+1 आह, दाएं, बग ... – stephan
re pt 2 क्या आप डी 2 या डी 1 के बारे में बात कर रहे हैं? –
मैं डी 2 का उपयोग नहीं करता हूं। उस ने कहा, अगर मुझे डी 2 में कोई समस्या नहीं है तो मुझे कुछ आश्चर्य होगा; डीएमडी 1.x और डीएमडी 2.x एक ही स्रोत कोड से बनाए गए हैं, बस अलग-अलग प्री-प्रोसेसर परिभाषित करता है। जहां तक मुझे पता है, आयात 1.x और 2.x के बीच वास्तव में नहीं बदला है। –