请考虑以下代码行。我想对数组引用$ a进行切片,并将结果作为分配给$ b的数组引用返回。我可以按照以下两行内容进行操作。我为一口气做到这一点而感到沮丧!该怎么办?
$a = [1,2,3,4,5];
###the desired result###########################
@b = @{$a}[1 .. @{$a} - 1];
$b = \@b; # $b is [2,3,4,5]
################################################
###trying to get the desired result in one line##
$b = \@{$a}[1 .. @{$a} - 1]; # $b is \5;
$b = \{@{$a}[1 .. @{$a} - 1]}; # $b is \{ 2 => 3, 4 => 5 }
$b = $a->[1 .. @{$a} - 1]; # $b is 1
$b = $a->@[1 .. @{$a} - 1]; # $b is 5
答案 0 :(得分:4)
你可以说
$b = [ @{$a}[1 .. @{$a} - 1] ];
答案 1 :(得分:2)
受this question的启发,还有
$b = [ splice @{[@$a]},1 ]