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

Bu Perl alt yordamında ne() ne anlama geliyor?Perl alt yordamının sonunda() ne anlama geliyor?

+6

Dönüş boş liste:

Örneğin, aşağıdaki tek küçük harf "a" basar. –

+0

http://www.tutorialspoint.com/perl/perl_subroutines.htm - Dönüş değerleri bölümüne bakınız. –

+0

Potansiyel karışıklık, genellikle bir satırdan daha uzun olan alt rutinlerde açık bir 'dönüş 'ifadesinin eklenmesi genellikle iyi bir fikirdir. – plusplus

cevap

16

Alttaki son ifade, dönüş değeridir. Bu, (önceki return ifadesinin olmadığı varsayılarak) alt öğenin boş bir liste (daha önceki kod satırında ne varsa) döndürmesini sağlar.

1

Tamam ... bu yüzden belki patolojik, ama bu Perl biz "bazı kod burada #" fiili metni bağlı

... bahsediyoruz IS, bu makul bir üretebilir Dereferanslı KOD referansı, bu durumda parenler KOD'un sıfır argümanlarla çağrılmasına neden olacak ve bu kodun dönüş değeri, `f 'dönüş değeri olacaktır.

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

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

Bunu beğendim. Bu benim de düşündüğüm ilk şeydi. =) –

+0

Hiç patolojik değil. Bu ya da farklı bir yazım yolu olabilir '' dönüşü ''. Bağlam olmadan bilinemez. – darch