初めてのPerlを読み返す 5章 ハッシュ
この記事のスタンスはこちら。
5章 ハッシュ*1
- スカラーのキーは自動的に文字列に変換される。キーを「50/20」として使おうとすると「"2.5"」という文字列のキーになる。
- 存在しないキーを指定すると「undef」を得られる。
- ハッシュ全体を表す変数には「%」を先頭の文字にする。
- リストコンテキストのハッシュ値は、キーと値のペアを表すリストになる。
%hash = ("key1", "value1", "key2", "value2"); @array = %hash; # 上記のリストを得られる。ただし、順番通りとは限らない!
- ハッシュからリストに戻すことを「ハッシュをほどく」という。
- ハッシュからハッシュのコピーはちょっと重いかも。
%new_hash = %old_hash;
- 「reverse」関数は、キーと値のペアを逆転させる。
- ハッシュの代入は太い矢印を使う事も出来る。
%hash = ( "key1" => "value1", "key2" => "value2", );
@keyarray = keys %hash; @valarray = values %hash;
- 「each」関数はハッシュ全体の繰り返しを行う。
while( ($key,$value) = each %hash ){ print "$key => $value\n"; }
- 「sort」でキーソートすれば順番通りに並ぶ。
- 「exists」関数はハッシュのキーの存在チェックを行う。値が真か偽かは問わない。
- 「delete」関数でキー(値)を削除。元々存在してなくてもOK。
ハッシュが元々リストだなんて知りませんでした…
勉強になるなぁ
*1:以下引用をいくつか含みます