首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Perl 函数中传接数组应用

2012-10-18 
Perl 函数中传递数组应用Perl函数中若要传递一个数组,可以通过引用来传递更方便:如果在参数中传递两个数组

Perl 函数中传递数组应用
Perl函数中若要传递一个数组,可以通过引用来传递更方便:
如果在参数中传递两个数组的时候,会出现一些问题。
sub test{
    my(@a,@b) = @_;
}
@array_1 = qw(a b c);
@array_2 = qw(d e f);
test(@array_1, @array_2);
上面这段代码我们是想把@array_1 会赋值给@a,@array_2赋值给@b,但其实不是那样的。
在调用test(@array_1, @array_2)的时候,其把参数@array_1 和 @array_2被放到单个数组@_中。
这样在test函数内部,就会把@_赋值给@a,即两个数组都赋值给@a了。
为了解决这个问题,我们可以传递数组引用:
即没有必要传递整个数组,只要传递相关数组的引用就可以了。
sub test{
    my($a,$b) = @_;
}
@array_1 = qw(a b c);
@array_2 = qw(d e f);
test(\@array_1, \@array_2);
此时函数test()总是接收两个值,即两个引用.下面就可以遍历两个数组了:
$count=1;
while($count<=$@a){
print("element$count:$@a[$count-1]\n");
$count++;
}
note:当你将对标量、数组或哈希结构的引用作为参数传递给函数时:
当你传递引用时,函数能够对引用指向的原始数据进行操作

热点排行