那里 - 刚开始学习Perl。Perl子参考语法
这是我在做什么让一个数组成子功能 - 能不能做到在1号线更简单?
sub my_sub {
my $ref_array = shift;
my @array = @$ref_array;
}
那里 - 刚开始学习Perl。Perl子参考语法
这是我在做什么让一个数组成子功能 - 能不能做到在1号线更简单?
sub my_sub {
my $ref_array = shift;
my @array = @$ref_array;
}
如果你想在shift
以及效果,
sub my_sub {
my @array = @{+shift};
}
的unary +
operator力shift
被视为一种表达,不一个变量名。 (否则@{shift}
与@shift
意味着相同。)
您可以简化就像
sub my_sub {
my @array = @{$_[0]};
}
哪里@_
是默认的阵列/列表,在参数传递中。
另一种方法是不用担心它是一个arrayref - 就这样离开它,并将其用于其余的sub-as。
可以*做什么更简单?你想做什么?为什么要复制阵列在第一位? – tchrist 2011-01-28 23:13:40
为什么你在一个数组上使用引用传递,然后去做一个全新的副本呢?为什么不直接使用`@ _` *原位*? – tchrist 2011-01-28 23:28:41