ハッシュ


名前をもつ要素

Perl言語において、ハッシュと呼ばれる特殊な配列があります
ハッシュとは、わかりやすく言うと要素が番号ではなく変数のように名前をもっている配列のことです

ハッシュは通常の配列とはちがって@は使わずに%を使います
%配列名 でこの配列がハッシュであることを表すことができます

ハッシュのリストは要素名と値をワンセットで表します

(index_name1 , value1 , index_name2 , value2 ...)

value1を呼び出すには、$配列名{index_name1}で参照することができます
[ ] ではなくて { } を使っていることに注目してください
index_nameには当然、文字列だけではなく数を指定することも可能です
	%hash = (	"名前","レナ",
			"特徴","赤髪と黄色のメッシュ",
			"性格","粗野で男勝り、でもそこがグッ☆");

	print "名前 = ".$hash{"名前"}."\n";
	print "特徴 = ".$hash{"特徴"}."\n";
	print "性格 = ".$hash{"性格"};
ハッシュの要素名で文字列を使用する場合、筆者はダブルクォーテーション教(!?)なので" "を使いますが
ダブルクォーテーションの場合は、エスケープシーケンスや変数などは展開されてしまいます
変数などを指定せずに、上のプログラムのように純粋にその場で要素名を指定する場合は
シングルクォーテーション 「 ' 」で囲むのが良いでしょう

しかし、上のリストを見てもわかると思いますが どっちが要素名でどっちが値なのか わかりにくいですね
配列に慣れすぎていれば、全部要素として代入されてるようにも見えます
そこで => 記号を使って、その関係をはっきりさせることが可能です
	%hash = (	"名前"=>"レナ",
			"特徴"=>"赤髪と黄色のメッシュ",
			"性格"=>"粗野で男勝り、でもそこがグッ☆");

	print "名前 = ".$hash{"名前"}."\n";
	print "特徴 = ".$hash{"特徴"}."\n";
	print "性格 = ".$hash{"性格"};
どちらの記述法を使うかはプログラマしだいですが、オープンソースの場合など、他の人も読む可能性があるなら後者を使うべきです
現代プログラムはソースの可読性もまた、重視するべきプログラマの実力のひとつです



前のページへ戻る次のページへ