+ -
当前位置:首页 → 问答吧 → 请教:Perl菜鸟问题,函数参数传递

请教:Perl菜鸟问题,函数参数传递

时间:2010-11-01

来源:互联网

1 $total = sum (\@a );
2 sub sum {
3 my ($aref) = @_;
4 my ($total) = 0;
5 foreach (@$aref) { $total += $_ }
6 return $total;
7 }
问题:第四行,将数组赋值给标量意味着将数组的元素个数传递给标量,可在代码中的含义为什么是建立aref到@a的引用?

作者: lion7beckham   发布时间: 2010-11-01

第四行只是一个赋值啊。

作者: Aylazhang   发布时间: 2010-11-02

第四行还是第三行?

作者: fibbery   发布时间: 2010-11-02

Perl code
3 my ($aref) = @_;

应该如上。

作者: fibbery   发布时间: 2010-11-02

Perl code
sub sum {
    my $aref = shift;
    my $total = 0;
    $total += $_ for @$aref;
    return $total;
}

作者: iambic   发布时间: 2010-11-02