our
संशोधक केवल तभी प्रयोग किया जाता है जब सख्त प्रगति वैश्विक चर का उपयोग करने के लिए सक्रिय है या यह सख्त बंद होने पर सामान्य वैश्विक चर से अलग कुछ अतिरिक्त सुविधाओं के लिए भी उपयोग किया जाता है?क्या पर्ल में हमारे परिभाषित चर और सामान्य वैश्विक चर के बीच कोई अंतर है?
उत्तर
हां, our
घोषणाओं में अव्यवस्थित ग्लोबल्स की तुलना में अतिरिक्त सुविधाएं हो सकती हैं। लेकिन ये काफी हद तक अप्रासंगिक हैं।
our
एक वैश्विक चर (एक ही नाम के) के लिए एक व्याख्यात्मक उपनाम बनाता है। यही है, package Foo
, our $bar
और $Foo::bar
उसी वैरिएबल को देखें। हालांकि, पूर्व केवल तंग व्याख्यात्मक दायरे में उपलब्ध है।
our
एक शाब्दिक प्रभाव पड़ता है के रूप में, उर्फ भी शाब्दिक चर my
साथ शैडो कर सकते हैं:
our $foo = 42; # give some value
my $foo = -1; # same name, different value
say "my gives $foo";
our $foo; # reintroduce the alias; shadow lexical
say "our gives $foo";
आप our
घोषणाओं पट्टी और सख्त बिना चला, तो यह स्पष्ट रूप से उत्पादन नहीं देंगे
my gives -1
our gives 42
बस my
, our
थोड़ा अतिरिक्त घोषणा वाक्यविन्यास ले सकता है, उदाहरण के लिए गुण:
use threads::shared;
our $foo :shared;
तुम भी fields
pragma के साथ उपयोग के लिए एक प्रकार का उल्लेख कर सकते हैं:
our Foo $foo;
यह our
बिना वैश्विक चर के लिए नहीं किया जा सकता।
आप perldocs से देख सकते हैं, our
वर्तमान पैकेज में our
एड चर रूप में एक ही नाम के साथ एक पैकेज चर करने के लिए एक उपनाम पैदा करता है।
यदि आप कोड लिख रहे हैं जिसमें इसमें कई पैकेज परिभाषाएं हैं, तो आप मॉड्यूल के बीच एक एलियाज्ड चर पारित करने के लिए our
एड चर का उपयोग कर सकते हैं।
package Foo:
our $bar = 42; # $bar is an alias for $Foo::bar
package Baz;
print $bar; # prints '42', since $bar is $Foo::bar
इस प्रकार, एक उपयोग जिसका वैश्विक चर के साथ कुछ लेना देना नहीं है।
सभी पैकेज चर वैश्विक चर हैं। यह उपयोग क्या दर्शाता है कि 'सख्त' को संतुष्ट करने के अलावा 'हमारा' उद्देश्य है। – darch
निम्नलिखित प्रश्नों के अनुसार (http://stackoverflow.com/questions/845060/what-is-the-difference-between-my-and-our-in-perl) हमारे चर पैकेज और वैश्विक चर कहा जाता है। मुझे नहीं पता कि कौन विश्वास करता है। – none
@ नहीं: यहां कोई संघर्ष नहीं है। 'हमारी' घोषणा (एक उपनाम) पैकेज (वैश्विक) चर। – Borodin
वैश्विक, पैकेज चर कहीं भी पहुंच योग्य हैं, चाहे strict
जगह पर है या नहीं, यदि आप पूरी तरह से योग्य नाम निर्दिष्ट करते हैं, यानी आप इसे पैकेज नाम से उपसर्ग करते हैं। तो मैं किसी भी समय कहीं भी $main::variable
तक पहुंच सकता हूं।
strict
के बिना, यदि आप $variable
पर पहुंचते हैं कि आपने my
के साथ घोषित नहीं किया है, तो पर्ल मानता है कि यह वर्तमान पैकेज में एक पैकेज चर है। our
का उपयोग पैकेज चर को स्पष्ट रूप से घोषित करने के लिए किया जा सकता है, लेकिन strict
के बिना यह बहुत कुछ नहीं करता है क्योंकि कुछ भी अव्यवस्थित समान व्यवहार करता है।
strict
जगह के साथ, our
के साथ घोषित चर उनके स्थानीय नाम के साथ-साथ उनके पूर्ण-योग्य नाम का उपयोग करके सुलभ हैं, जहां व्याख्यान दिखाई देता है। इसका मतलब है कि दो subroutines से एक वैश्विक चर का उपयोग करने के लिए आपको या तो दोनों subroutines के भीतर घोषित करना होगा या दोनों को बाहरी दायरे में घोषित करना होगा।
- 1. PHP- वैश्विक चर और स्थिरांक के बीच क्या अंतर है
- 2. PHP चर में सत्र चर और वैश्विक चर के बीच क्या अंतर है?
- 3. क्या पर्ल में अंतर जब $ चर और $ {चर}
- 4. सदस्य चर और स्थानीय चर के बीच क्या अंतर है?
- 5. जब कोई वैश्विक चर x परिभाषित किया गया है तो
- 6. वैश्विक चर और मैपलियर
- 7. पर्ल - सभी स्क्रिप्ट और मॉड्यूल में उपलब्ध वैश्विक चर?
- 8. % चर% और चर के बीच अंतर! बैच फ़ाइल में
- 9. कोई वैश्विक चर प्रारंभ
- 10. वहाँ एक वैश्विक चर और वैश्विक वस्तु
- 11. कक्षा चर और वर्ग आवृत्ति चर के बीच अंतर?
- 12. क्या उत्तर में प्लेबुक-वैश्विक चर परिभाषित करना संभव है?
- 13. पूर्णता चर और सेमफोर के बीच अंतर
- 14. हस्ताक्षरित और हस्ताक्षरित चर के बीच क्या अंतर है?
- 15. वैश्विक चर VS C++
- 16. किसी संपत्ति और आवृत्ति चर के बीच क्या अंतर है?
- 17. स्थिर स्थिरांक और constexpr चर के बीच क्या अंतर है?
- 18. Greasemonkey और वैश्विक चर
- 19. रूबी में, क्या सभी वैश्विक चर और कॉन्स्टेंट परिभाषित/पूर्वनिर्धारित मुद्रित करने का कोई तरीका है?
- 20. वैश्विक चर और एमपीआई
- 21. वैश्विक चर और अजगर
- 22. क्या आवृत्ति चर वैश्विक वैरिएबल चर हैं?
- 23. आईओएस हेडर फ़ाइल में गुणों और चर के बीच अंतर?
- 24. वैश्विक चर और पाठक मोनैड
- 25. वैश्विक चर
- 26. वैश्विक चर वैश्विक क्षेत्र
- 27. क्या कोई वैश्विक चर के साथ प्रोग्रामिंग भाषाएं हैं?
- 28. पर्ल में वैश्विक चर घोषित करने के लिए कैसे करें?
- 29. ओकैमल खाली वैश्विक चर
- 30. "var" चर, "इस" चर और "वैश्विक" चर - एक JavaScript निर्माता
वास्तव में एक अच्छा जवाब! – none