那裏 - 剛開始學習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