2013-01-07 6 views
10

नेमस्पेस या पैकेज समान हैं? मैं पर्ल का उपयोग करता हूं जहां हमारे पास केवल पैकेज हैं। मुझे पता है कि अन्य प्रोग्रामिंग भाषाएं भी हैं जिनमें मॉड्यूल भी शामिल हैं।perl में नेमस्पेस, पैकेज और मॉड्यूल के बीच क्या अंतर है?

क्या अंतर है?

+0

मुझे लगता है कि आपको [कैमल बुक] (http://en.wikipedia.org/wiki/Programming_Perl) पढ़ना चाहिए। यह पर्ल की कई ब्याज विशेषताओं को प्रकट करेगा – gaussblurinc

उत्तर

14

Namespace एक सामान्य कंप्यूटिंग शब्द है जिसका अर्थ है पहचानकर्ताओं के एक अलग सेट के लिए एक कंटेनर। एक ही पहचानकर्ता अलग-अलग नामस्थानों में स्वतंत्र रूप से दिखाई दे सकता है और विभिन्न ऑब्जेक्ट्स और एक पूर्ण-योग्य पहचानकर्ता का संदर्भ ले सकता है जो किसी ऑब्जेक्ट को स्पष्ट रूप से पहचानता है जिसमें नामस्थान प्लस पहचानकर्ता होता है।

पर्ल package कीवर्ड का उपयोग कर नेमस्पेस लागू करता है।

एक पर्ल मॉड्यूल पूरी तरह से एक अलग बात है। यह पर्ल कोड का एक टुकड़ा है जिसे किसी भी प्रोग्राम में use कीवर्ड के साथ शामिल किया जा सकता है। फ़ाइल नाम .pm के साथ समाप्त होना चाहिए - पी erl एम odule - और इसमें शामिल कोड में पैकेज नाम का उपयोग करके package कथन होना चाहिए जो फ़ाइल के नाम के समतुल्य है, जिसमें पथ भी शामिल है। उदाहरण के लिए, My/Useful/Module.pm नामक फ़ाइल में लिखे गए मॉड्यूल में package कथन package My::Useful::Module जैसा होना चाहिए।

आप क्या सोच रहे थे वर्ग जो कि, एक सामान्य कंप्यूटिंग शब्द है, इस बार ऑब्जेक्ट उन्मुख डेटा का एक प्रकार है। पर्ल अपने पैकेजों को कक्षा के नाम के रूप में उपयोग करता है, और ऑब्जेक्ट-ओरिएंटेड मॉड्यूल में कन्स्ट्रक्टर सबराउटिन होगा - आमतौर पर new कहा जाता है - जो उस ऑब्जेक्ट उन्मुख फैशन में व्यवहार करने के लिए blessed पर डेटा का संदर्भ देगा। किसी भी तरह से सभी पर्ल मॉड्यूल ऑब्जेक्ट उन्मुख हैं: कुछ subroutines के सरल पुस्तकालय हो सकते हैं।

16

package निर्देश नामस्थान सेट करता है। इस प्रकार, नामस्थान को पैकेज भी कहा जाता है।

पर्ल मॉड्यूल की औपचारिक परिभाषा नहीं है। बहुत भिन्नता है, लेकिन निम्नलिखित मॉड्यूल के विशाल बहुमत के लिए हैं:

  • .pm एक्सटेंशन वाला एक फ़ाइल।
  • फ़ाइल में एक package घोषणा है जिसमें कोड की संपूर्णता शामिल है। (लेकिन नीचे देखें।)
  • फ़ाइल का नाम package द्वारा नामित नामस्थान पर आधारित है।
  • फ़ाइल निष्पादित होने पर एक वास्तविक मान वापस करने की उम्मीद है।
  • फ़ाइल प्रति दुभाषिया से अधिक बार निष्पादित होने की उम्मीद है।

एकाधिक पैकेज वाले .pm फ़ाइलों का सामना करना असामान्य नहीं है। चाहे वह एक मॉड्यूल है, एकाधिक मॉड्यूल या दोनों बहस के लिए हैं।