我有一个函数(我们称之为 foo($array_reference, ...)
),它需要其他参数中的数组引用。我要foo
将数组引用从传递给它的参数列表中直接移到数组中,而不必将其作为数组引用移出,然后单独将其转换为数组。
我想要的应该是这样的:
my @bar = @{shift};
我不想要的,但目前坚持:
my $bar = shift;
my @bar = @{$bar}
后一种方法浪费行数,浪费内存,使我对编写这种 Perl 代码的作者充满热情。请帮忙?
最佳答案
不用担心“浪费线路,浪费内存”。两行代码和内存都很便宜。
您可以在@_
上操作就像任何数组一样,包括取消引用。听起来您想要以下之一:
my @bar = @{+shift};
my @bar = @{$_[0]};
关于perl - 如何将传递的数组引用直接移到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3980493/