मैं ::
->
के साथ उलझन में रहता हूं जब मॉड्यूल से सबराउटिन को कॉल करता है। मुझे पता है कि ::
पथ से अधिक संबंधित है और जहां मॉड्यूल/सबराउटिन है और ->
ऑब्जेक्ट्स के लिए उपयोग किया जाता है, लेकिन मुझे वास्तव में समझ में नहीं आ रहा है कि मैं दोनों का आदान-प्रदान क्यों कर सकता हूं और यह तत्काल त्रुटियों के साथ नहीं आ रहा है। मेरे पास पर्ल मॉड्यूल हैं जो एक बड़े पैकेज का हिस्सा हैं, उदा। FullProgram::Part1
पर्ल मॉड्यूल से तरीकों को कॉल करते समय '::' और '->' काम (प्रकार) का एक-दूसरे से क्यों काम करते हैं?
मैं सिर्फ मॉड्यूल के साथ पकड़ के लिए हो रही के बारे में हूँ, लेकिन अभी भी दिखता जारी आधार पर कर रहा हूँ जब यह पर्ल वस्तुओं की बात आती है, लेकिन मैं गलती से यह कर रहा हूँ:
FullProgram::Part1::subroutine1();
के बजाय
तो जब मैं ऑब्स संदर्भ से निपटने के लिए $class/$self
का उपयोग करने के बारे में सावधानी बरतता हूं और ::
का उपयोग करता हूं तो मैं अपने बालों को खींचकर सोचता हूं कि मेरा हैश रेफ क्यों लगता है गायब करने के लिए। मैंने अपना सबक सीखा है, लेकिन वास्तव में अंतर की व्याख्या करना पसंद करेंगे। मैंने इन पर perldocs और विभिन्न वेबसाइटों को पढ़ा है, लेकिन मैंने दोनों के बीच कोई तुलना नहीं देखी है (Google के लिए काफी कठिन ...) सभी मदद की सराहना की - मैं समझ रहा हूं कि मैं क्या कर रहा हूं!
कुछ अच्छे उत्तरों, चुनने के लिए मुश्किल है, लेकिन धन्यवाद - निश्चित रूप से चीजों को मंजूरी दे दी! – dgBP