hashについて
hashは、複数の関係性のある値を管理する際に使うもので、キーとバリューを要素に持つ値です。
配列とは異なり、順番ではなく、キーを使って値を管理する方式のことをキーバリューストアと呼びます。
hashの生成方法
hashの生成方法はハッシュを宣言し、その中にキーとバリューをセットに代入します。
変数 = {}
# 始めから要素を持った状態で生成することもできます。
変数 = { "キー1" => "バリュー1", "キー2" => "バリュー2", "キー3" => "バリュー3" }
ハッシュのキーには多くの場合、シンボル
と呼ばれる文字列の先頭にコロン:
をつけて宣言する値が使用されます。
:文字列
文字列よりも、数値を扱うほうが処理速度が早くなるので、ハッシュのキーには、文字列よりもシンボルを使うことが多いようです。シンボルを使うと見た目は文字列ですが、数値として扱われます。
シンボルを使う場合は、以下の2通りの使用方法があります。
hash = { :name => "inoki" }
hash = { name: "inoki" }
# 2つとも同じ意味
まとめると、ハッシュの生成方法には以下の3つの方法があります。
hash1 = {"name" => "あん時の猪木"}
hash2 = {:name => "あん時の猪木"}
hash3 = {name: "あん時の猪木"}
# 全ておなじ意味
シンボル化を行うメソッド
文字列をシンボル化するには、to_sym
メソッドを使います。このメソッドを使うことでシンボルオブジェクトを返すことができます。
str = "inoki"
str = str.to_sym
str.class # Symbol