ハッシュとは、データとそれに対応する名前のセットを要素として持つ値のことです。
例えば、
puts hash.keys
puts hash.values
それぞれのメソッドを実行したときに
puts hash.keys
#ターミナルでの出力
one
two
three
puts hash.value
#ターミナルでの出力
1
2
3
のように表示させていけれど
どのように記述をすれば良いでしょうか?
ハッシュにおいてはデータをバリュー、それに対応する名前をキーと呼びます。
ハッシュの宣言は、
#波括弧を使って生成する
変数 = {}
#ハッシュの生成はハッシュロケットを使って生成できる
変数 = { キー1 => バリュー1, キー2 => バリュー2, キー3 => バリュー3 }
つまり、
hash = { one => 1, two => 2, three => 3 }
のように生成することで、上記のように出力できます。
またハッシュはシンボルという値が使用されることが多くなっています。
シンボルの中身は数値になります。
シンボルの宣言は文字列の先頭にコロン:をつけます。
ハッシュのキーには文字列よりもシンボルを使うことが多いです。
hash = { :name => "Taro" }
hash = { name: "Taro" }
#どちらも同じ要素
1つ目はキーが文字列を表していて、
2つ目と3つ目はキーがシンボルの場合は2通りの記法が使えます。
hash = { "one" => 1, "two" => 2, "three" => 3 }
hash = { :one => 1, :two => 2, :three => 3 }
hash = { one: 1, two: 2, three: 3 }
上記のように記述をすることができます。