2013-06-07 6 views
9
sub f { 
    # some code here 
    () 
} 

इस पर्ल सबराउटिन में() का क्या अर्थ है?पर्ल सबराउटिन के अंत में() का मतलब क्या है?

+6

वापसी खाली सूची:

उदाहरण के लिए, निम्नलिखित एक भी लोअरकेस "एक" बाहर प्रिंट होगा। –

+0

http://www.tutorialspoint.com/perl/perl_subroutines.htm - रिटर्न मानों पर अनुभाग देखें। –

+0

संभावित भ्रम यह है कि आमतौर पर एक पंक्ति से अधिक लंबे समय तक subroutines में एक स्पष्ट 'वापसी' कथन शामिल करना एक अच्छा विचार है। – plusplus

उत्तर

16

उप में अंतिम अभिव्यक्ति वापसी मूल्य होगी। यह सुनिश्चित करता है कि (पिछला return कथन नहीं मानता है) उप खाली सूची लौटाता है (बल्कि तब भी जो कोड की पिछली पंक्ति पर था)।

1

ठीक ... तो यह शायद रोग है, लेकिन इस पर्ल के बारे में हम बात कर रहे हैं ...

"# कुछ कोड यहाँ" की वास्तविक पाठ पर निर्भर करता है, यह क़यास एक उत्पादन कर सकता है dereferenced कोड संदर्भ, इस मामले में माता-पिता को शून्य तर्क के साथ कोड को बुलाया जाएगा, और उस कोड का वापसी मूल्य 'एफ' का वापसी मूल्य होगा।

sub f { 
     &{sub { return $_[0] }} 
     (@_) 
    } 

    print f(qw(a b c d e f)), "\n"; 
+0

मुझे यह पसंद है। यह वास्तव में पहली बात थी जिसे मैंने सोचा था। =) –

+0

बिल्कुल पैथोलॉजिकल नहीं है। यह आसानी से वर्तनी 'वापसी' का एक अलग तरीका हो सकता है; संदर्भ के बिना नहीं पता। – darch

संबंधित मुद्दे