第四章 子程式和返回值

2021-06-28 19:53:13 字數 1610 閱讀 1608

[root@jhoa 2015]# cat 1.pl 

sub marine

marine;

marine;

marine;

marine;

marine;

marine;

[root@jhoa 2015]# perl 1.pl

$n is 1

$n is 2

$n is 3

$n is 4

$n is 5

$n is 6

返回值:

sub sum_of_fred_and_barney

子程式的返回值 是最後一次運算的結果 (不管是什麼)

[root@jhoa 2015]# cat 2.pl

sub max else

}max (1,2)

sub max

($m,$n) = @_; #將引數賦值給變數

if ($m > $n) else

}max (1,10,1,2,3,4)

[root@jhoa 2015]# cat 3.pl

use strict;

$var += 1;

print "\$var is $var\n";

[root@jhoa 2015]# perl 3.pl

global symbol "$var" requires explicit package name at 3.pl line 2.

global symbol "$var" requires explicit package name at 3.pl line 3.

execution of 3.pl aborted due to compilation errors.

[root@jhoa 2015]# cat 3.pl

use strict;

my $var += 1;

print "\$var is $var\n";

[root@jhoa 2015]# perl 3.pl

$var is 1

子程式返回值:

my @names = qw/fred barney betty dino wilma pebbles bamm-bamm/;

#子程式的返回值

my $result = &which_element_is("dino",@names);

sub which_element_is

}-1;

}print "子程式的返回值是 $result\n";

[root@jhoa 2015]# cat a1.pl

my @names = qw/fred barney betty dino wilma pebbles bamm-bamm/;

#子程式的返回值

my $result = &which_element_is("***x",@names);

sub which_element_is

}return -1;

}print "子程式的返回值是 $result\n";

[root@jhoa 2015]# perl a1.pl

子程式的返回值是 -1

第四章 子例程引用與閉包

和普通變數一樣,子例程 subroutine 可以是有名的也可以是匿名的,而且perl 語法上支援對任何一種型別的引用。這種引用很像c語言中指向函式的指標,它可以被用來建立如下複雜的結構 閉包 closure 閉包是這樣一種字例程,建立時,它將包含其子例程的環境打包。子例程引用 子例程並沒有什麼特別...

第四章 陣列和指標

由於陣列和指標這部分知識比較深奧,本菜鳥決定將c和c 的指標部分的知識點全歸到c語言部分來整理,所以這裡就只總結一些題目。下列陣列的值是什麼?string sa 10 int ia 10 int main 解答 sa 和sa2 為元素型別為string 的陣列,自動呼叫string 類的預設建構函式...

第四章 陣列和指標

4.1 陣列 1 陣列的初始化 在函式體外定義的內建陣列,都初始化為0 在函式體內的內建陣列,均無初始化 顯示顯示初始化則可不必制定陣列的維數 初始化如果元素為類型別,則自動的條用該類預設的建構函式 2 特殊字元陣列 char ca c 會自動的在c 後新增乙個空的字元 o 而char ca2 ca...