月曜日, 12 月 21st, 2009 | Author: djodjo
Perlですが、リファレンスになってるハッシュのマージする方法。
my $hash1 = { aaa=> 10, bbb=> 100, ccc=>1000, }; my $hash2 = { bbb=> 20, }; my $merge= { %{ $hash1 }, %{ $hash2 }, eee=>'add', }; use Data::Dumper; print Dumper $merge;
とすると、以下の感じでマージされる。ちゃんと後ろにくっつけた、hash2が同じキーbbbを上書きしてる。
$VAR1 = { 'bbb' => 20, 'aaa' => 10, 'ccc' => 1000, 'eee' => 'add' };
ちなみに、ふつうのハッシュをマージ・結合するには
my %hash1 = ( aaa=> 10, bbb=> 100, ccc=> 1000, ); my %hash2 = ( bbb=> 20, ); my %merge= (%hash1, %hash2, eee=> 'add'); use Data::Dumper; print Dumper \%merge;
で同じ結果に。
やっぱり一度、リファレンスから戻さないと結合できないみたい。
結局はリストの結合と同じね。
Category: 未分類