Perl:将数组别名为 array_ref
Perl: alias an array to an array_ref
我想做:
$array_ref = [ 1, 2, 3];
alias @array @$array_ref;
$array[0] = 4;
# $array_ref->[0] should now be 4
换句话说:我有一个数组的引用,但我想像处理普通数组一样处理它。
背景
这是 GNU Parallel 的潜在扩展。在 GNU Parallel 中,用户可以提交要在内部数据结构上评估的 perl 表达式。至少可以说,访问 args 数组很麻烦,所以我想简单地使用 @arg 代替。
Data::Alias 满足您的需求。
use Data::Alias;
my $array_ref = [1, 2, 3];
my @array;
alias @array = @$array_ref;
$array[0] = 4;
print $array_ref->[0];
输出:4
我想做:
$array_ref = [ 1, 2, 3];
alias @array @$array_ref;
$array[0] = 4;
# $array_ref->[0] should now be 4
换句话说:我有一个数组的引用,但我想像处理普通数组一样处理它。
背景
这是 GNU Parallel 的潜在扩展。在 GNU Parallel 中,用户可以提交要在内部数据结构上评估的 perl 表达式。至少可以说,访问 args 数组很麻烦,所以我想简单地使用 @arg 代替。
Data::Alias 满足您的需求。
use Data::Alias;
my $array_ref = [1, 2, 3];
my @array;
alias @array = @$array_ref;
$array[0] = 4;
print $array_ref->[0];
输出:4