perl面向对象编程(参数篇)-子程序参数@_的使用

来源:互联网 发布:爱奇艺网络电影 编辑:程序博客网 时间:2024/05/22 07:44

 

 传递给子程序的参数放置在数组@_中,而且可以从那里提取它们。例:

sub addem

{

$value1 = @_[0];

$value2 = @_[1];

print "$value1 + $value2 = ", ($value1 + $value2),"/n";

}

addem(2, 2);

2 + 2 = 4;

也可以从其他方法从@_中得到值,例如用shift:

sub addem

{

$value1 =  shift @_;

$value2 =  shift @_;

print "$value1 + $value2 = ", ($value1 + $value2), "/n";

}

addem(2, 2);

2 + 2 = 4;

在子程序中,shift函数在默认情况下使用@_,所以可以这样改写这段代码:

sub addem

{

$value1 =  shift ;

$value2 =  shift ;

print "$value1 + $value2 = ", ($value1 + $value2), "/n";

}

addem(2, 2);

2 + 2 = 4;

也可以像这样用列表赋值方法一次得到全部参数:

sub addem

{

($value1, $value2) =  @_ ;

print "$value1 + $value2 = ", ($value1 + $value2), "/n";

}

addem(2, 2);

2 + 2 = 4;