我有一个二维数组。我可以使用以下内容获得它的给定列:
my @column_zero=map {$_->[0]} @{$twod_array};
然后我就可以随意操作@column_zero
了。
但是如何将它放回二维数组中呢?
我有一个二维数组。我可以使用以下内容获得它的给定列:
my @column_zero=map {$_->[0]} @{$twod_array};
然后我就可以随意操作@column_zero
了。
但是如何将它放回二维数组中呢?
也许最好获取对这些值的引用:
my @ref_to_column_zero = map { \($_->[0]) } @{$twod_array};
...所以你可以直接操作这些值:你只需要记住这个数组中存储了引用,所以它们应该被取消引用。例如:
for (@ref_to_column_zero) {
${ $_ } *=2;
}
如果您更喜欢使用旧方法,您可以这样做:
for (0..$#column_zero) {
$twod_array->[$_][0] = $column_zero[$_];
}
TMTOWTDI 所以
do{my $i; $twod_array[$i++][0] = $_ for @column_zero;};