4

我有一个二维数组。我可以使用以下内容获得它的给定列:

my @column_zero=map {$_->[0]} @{$twod_array};

然后我就可以随意操作@column_zero了。

但是如何将它放回二维数组中呢?

4

2 回答 2

4

也许最好获取对这些值的引用:

my @ref_to_column_zero = map { \($_->[0]) } @{$twod_array};

...所以你可以直接操作这些值:你只需要记住这个数组中存储了引用,所以它们应该被取消引用。例如:

for (@ref_to_column_zero) {
  ${ $_ } *=2;
}

如果您更喜欢使用旧方法,您可以这样做:

for (0..$#column_zero) {
  $twod_array->[$_][0] = $column_zero[$_];
}
于 2012-12-23T18:35:31.303 回答
1

TMTOWTDI 所以

do{my $i; $twod_array[$i++][0] = $_ for @column_zero;};
于 2012-12-23T21:07:08.133 回答