0

このコードに出くわしました(抜粋を変更):

 my $respMap;
 my $respIdArray;
 foreach my $respId (@$someList) {
      push(@$respIdArray, $respId);
 }
 $respMap->{'ids'} = $respIdArray;
 return $respMap;

この場合、autovivication を使用する理由はありますか? なぜ単純にしないのですか

 my $respMap;
 my @respIdArray;
 foreach my $respId (@$someList) {
      push(@respIdArray, $respId);
 }
 $respMap->{'ids'} = \@respIdArray;
 return $respMap;

フォローアップ: autovivication の良い使用例を誰か教えてくれませんか?

4

2 に答える 2

1

Autovivication は、深い構造を扱う場合により便利です。

push( @{$hash{'key'}{$subkey}}, 'value' );
于 2013-05-09T17:23:24.527 に答える