どんな時にハッシュを使うのか
ところで、ハッシュ使ったところで何が嬉しいんでしょう? 別にプログラムが効率的になったとも思えませんよね。
ハッシュが便利なのは以下の3点です。- いくつかの値をまとめて受け渡す時
- キーの値で関連付けたい場合
- プログラム作成時には分からない名前の変数を実行時に設定
ハッシュで値をまとめて受け渡す
関数(※2)にいくつかの値をまとめて受け渡したい場合に、親の %taro だけを指定すればあとの値をまとめて受け渡すことができてコードが楽に書けます。
※2 「関数」とは よく使う処理をまとめて、使いまわせるようにしておくひとまとまりのプログラムコードの事です。Perl では「サブルーチン」または「メソッド」と呼びます。
キーの値で情報を関連付け
ハッシュの2つ目の使いどころは、全く種類の違う情報を、キーを使って関連付けられることです。 例えば、以下の表をご覧ください。ハッシュの使いどころ
「身長(shincho)」は数値ですが、その単位は「m(メートル)」である事を関連付けるためにハッシュを利用できます。
変数名を実行時に設定できる
ハッシュのキーは変数宣言が不要なので、プログラムを書いた時のみではなく、実行中にも自由に増やす事ができます。
この点が実はもっともハッシュがハッシュらしく使われる場面なのですが、データファイルを解析したりする時に使う方法なので詳しい説明はまた別の機会にして今回は省略します。