How can I code in a functional style in Perl? -
आप या तो कैसे करते हैं:
-
एक
उप वापसी
उप
या
-
कोड के रूप में पाठ निष्पादित
में
इसके अलावा, मैं कैसे एक अनाम समारोह स्टोर राज्य है?
एक उप coderef के रूप में एक उप देता है:
# उदाहरण 1: इनलाइन को परिभाषित किया गया एक उप वापसी उप foo {वापसी उप (मेरी $ this = shift; मेरा @other_परम = @_; कार्य करना(); वापसी $ some_value; }; } # उदाहरण 2: एक उप वापसी जिसे अन्यत्र परिभाषित किया गया है। उप बार {वापसी & amp; amp; foo; }
अनियंत्रित पाठ eval
फ़ंक्शन के साथ निष्पादित किया जा सकता है: दस्तावेज को यहां देखें:
eval q {प्रिंट "हैलो दुनिया \ n "};
ध्यान दें कि यह बहुत खतरनाक है अगर आप उपयोगकर्ता इनपुट से निकाले गए कुछ चीजों का मूल्यांकन कर रहे हैं, और आम तौर पर एक खराब अभ्यास है, क्योंकि आप आम तौर पर अपने कोड को परिभाषित कर सकते हैं ऊपर दिए गए उदाहरणों में जैसा coderef।
आप राज्य को एक (नई perl5.10 में) स्टोर कर सकते हैं, या एक चर के साथ, उप के मुकाबले अधिक स्कॉक्ड के साथ:
सुविधा 'राज्य' का उपयोग करें; उप बाज़ {राज्य $ x; वापसी ++ $ x; } # एक नया अवसर बनाओ ताकि $ y इस पैकेज में अन्य कार्यों के लिए दृश्यमान न हो {my $ y; उप quux {वापसी ++ $ y; }}
Comments
Post a Comment