संभव डुप्लिकेट:
When should I use the & to call a Perl subroutine?अंतर
पर्ल स्क्रिप्ट में, क्यों समारोह लागू अलग ढंग से कुछ समय लिखा है की कि विधि है। मैं & फ़ंक्शन देखता हूं और कभी-कभी फ़ंक्शन()। क्या वे दोनों एक जैसे हैं और यह सिर्फ एक शैली है जिसे कोई फटकारना चाहेगा? यदि वे वही हैं, तो वे दोनों क्यों उपलब्ध हैं, क्या कोई भी पर्याप्त नहीं होगा? मुझे लगता है कि दोनों तरीकों के बीच कुछ अर्थपूर्ण अंतर है जो उन्हें एक दूसरे से अलग करता है ... लेकिन किस तरह की परिस्थितियों में?
--- चूंकि मैं टाइमआउट कारणों के लिए अपने स्वयं के प्रश्न का उत्तर नहीं दे सकता - मैं स्वयं प्रश्न के खंड में उत्तर अपडेट कर रहा हूं। जब मुझे उत्तर ब्लॉक को अपडेट करने का मौका मिलता है, तो मैं इसे वहां रखूंगा।
मुझे 'लर्निंग पर्ल' पुस्तक में प्रासंगिक पाठ मिला .. हालांकि टिप के लिए धन्यवाद। अध्याय 4: सबराउटिन - एम्परस को छोड़कर।
मुझे एम्पर्सेंड & परल फ़ंक्शन के लिए उपयोग में अधिक रुचि थी। यदि किसी सबराउटिन को पहले से बुलाए जाने से पहले परिभाषित किया गया है, तो & का उपयोग किए बिना सबराउटिन को बुलाया जा सकता है जबकि फ़ंक्शन को बिल्टिन फ़ंक्शंस का आह्वान करने के समान ही कहा जाता है। & का उपयोग बिल्टिन फ़ंक्शंस और उपयोगकर्ता परिभाषित फ़ंक्शंस के बीच अंतर करने के लिए भी किया जाता है यदि फ़ंक्शन को लागू किया जाना चाहिए, तो बिल्टिन फ़ंक्शन में से एक का नाम उसी नाम का उपयोग करता है, बशर्ते इसे लागू होने से पहले परिभाषित किया गया हो।
() का उपयोग केवल subroutines के तर्कों को पारित करने के लिए उचित है, जबकि यदि उपयोग नहीं किया जाता है, तो वर्तमान तर्कों की डिफ़ॉल्ट सूची फॉर्म @_ में पारित की जाती है। यदि तर्क subroutine के लिए() में निर्दिष्ट हैं, तो यह एक subroutine माना जाता है और अगर पहले पार्सिंग के दौरान परिभाषित नहीं किया गया है तो भी लागू किया जाता है।
देखें [फ़ंक्शन को कॉल करने के बीच क्या अंतर है और foo और foo()?] (Http://perldoc.perl.org/perlfaq7.html#What%27s-the-difference-between-calling-a- कार्यक्षमता -स-% 26foo-and-foo% 28% 2 9% 3 एफ) पर्ल एफएक्यू में 7. – manatwork
hi @manatwork, जो foo और foo() के बीच अंतर बताता है, लेकिन यदि आवश्यक नहीं है तो एम्पर्सेंड का उपयोग क्यों किया जा रहा है ... कब क्या ये ज़रूरी हैं? –
विवरण अनुभाग में [perlsub] (http://perldoc.perl.org/perlsub.html) ''' 'वैकल्पिक होने पर गणना करता है। – manatwork