4

2Dアレイがあります。私はそれの与えられた列を次のように得ることができます:

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

その後、私は自由に操作@column_zeroすることができます。

しかし、どうすればそれを2次元配列に戻すことができますか?

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 に答える