Ruby

2014-06-15, ruby

ハッシュ(連想配列)の記法

Rubyでは連想配列をハッシュと呼ぶんですね。Pythonではディクショナリだし、Javaではマップ。ほんと、どうして皆バラバラなんでしょう…。という愚痴はおいといて、キーも値もシンボル(セミコロンで始まるRuby特有の識別子)である、ハッシュを定義するには以下の記法を使います。

m = {:a => :b}

どのバージョンからなのか調査しきれていませんが、以下のような記法も使えます。ここで、「a」は変数ではなくシンボルとして扱われる点に注意が必要です。つまり、上記の定義例と全く等価なハッシュが下記の記述で宣言できます。

m = {a: :b}

確かにコロンを使った記法は他の言語では一般的ですが、運悪くシンボルの定義にもコロンを使っているせいで、なんだかかえって分かりにくくなっているような印象をうけてしまいますが…。

参考URL

この記事は役に立ちましたか?