最近 Ruby の勉強をしているので、今回は Hash(ハッシュ) についてまとめました。この記事では、ハッシュの 生成・値の追加(更新)・削除 の基本を解説します。
ハッシュは、「キー」と「値」のペアでデータを管理するためのオブジェクトです。似たものに配列がありますが、次の点が異なります。
配列:**添字(インデックス)**で要素にアクセスする(例:arr[0])
ハッシュ:キーで値にアクセスする(例:hash[:name])
ハッシュの生成
ハッシュの生成方法は以下。
{}を使用する
h = {:a => "b", :c => "d"}
ハッシュは { キー => 値 } の形で書けます。ペア同士はカンマで区切ります。キーがシンボルの場合は、より短い a: "b" 形式でも書けます。
h = {a: "b", c: "d"}
p h # {:a=>"b", :c=>"d"}
Hash.newを使用する
Hash.newでもハッシュを作ることができます。このときnew(デフォルト値)のように引数を渡すと、存在しないキーを参照したときに返す値を設定できます。
h1 = Hash.new
p h1 # {}
p h1[:none] # nil(存在しないキーは nil が返る)
h2 = Hash.new({key: 'a'})
p h2[:none] # {key: 'a'}
この {:key=>"a"} は「:none というキーに登録されている値」ではなく、登録されていないキーに対して返すデフォルト値です。
値の設定
値の設定と取り出し方は以下の通り。
h = Hash.new
h[:key] = "test" # 値を設定
p h[:key] # "test"
ハッシュ[キー] = ‘値’でキーに値を設定することが可能です。取り出すときはハッシュ[キー]の形で取り出せます。
ちなみに、同じキーに値を代入すると、あとから代入したもので上書きされます。
h = Hash.new
h[:key] = "test"
p h[:key] # "test"
h[:key] = "uwagaki"
p h[:key] # "uwagaki"
本当はもう少し書きたい内容あったけど、疲れたからここまで。
以上!

コメント