# 普通のハッシュ (ハッシュの値の呼び方は、 hash[“key1”] )
hash = {“key1” => value1, “key2” => value2}
# 前置コロンを使う (ハッシュの値の呼び方は、 hash[:key1] )
hash = {:key1 => value1, :key2 => value2}
# 後置コロンを使う (ハッシュの値の呼び方は、 hash[:key1] )
hash = {key1: value1, key2: value2}
普通のハッシュ
キー名を文字列で指定して、「=>」でつないでキーに対応する値を記載します。
ハッシュの値を呼ぶ時は、キー名の文字列を指定します。
前置コロン(シンボル)を使う
まず、コロンをキー名の前に書く前置コロンは、シンボルを表します。
シンボルとは、Rubyのオブジェクトのひとつの種類です。文字列の代わりに使うこともできますが、必ずしも文字列と同じ挙動をするわけではなく別物です。
ハッシュでは、キー名指定の部分をシンボルで置き換えることができます。「“key1”」の部分が「:key1」となります。文字列ではなくシンボルなので、クォーテーションはつけません。キー名に対応する値の記載方法は前項のものと同じで「=>」でつないで指定します。
ハッシュの値を呼ぶ時は、シンボルで指定します。
後置コロンを使う(シンボル指定で=>を省略)
コロンをキー名の後ろに書く後置コロンは、キー名をシンボルにして=>を省略できる書き方です。
「:key1 => 」という部分が、「key1: 」に置き換えられます。
ハッシュではこの書き方が一般的なようです。
この場合も、シンボルでキー名を指定していることには変わりないので、ハッシュの値を呼ぶ時はシンボルで指定します。