今回は Ruby でハッシュの要素を更新・追加・削除する方法を紹介します。
要素の更新
ハッシュの要素を更新するときは、ハッシュに更新したい要素のキーを指定し、値を代入します。
1 |
ハッシュ[更新したい要素のキー] = 値 |
以下はハッシュの値を更新する例です。
1 2 3 |
hash = { "Mike" => 23, "Ken" => 28 } hash["Mike"] = 30 puts hash # { "Mike" => 30, "Ken" => 28} |
上の例では、キーが "Mike" の要素の値が 23 から 30 に更新しています。
要素の追加
ハッシュに要素を追加するときは、ハッシュに追加したい要素のキーを指定し、値を代入します。
1 |
ハッシュ[追加したい要素のキー] = 値 |
このとき指定したハッシュのキーが既存のキーと同じ場合は、要素は追加されず値が更新されます。
1 2 3 |
hash = { "Mike" => 23, "Ken" => 28 } hash["Anna"] = 34 puts hash # { "Mike" => 23, "Ken" => 28, "Anna" => 34 } |
上の例では、キーが "Anna"、値が 34 の要素を追加しています。
また、ハッシュの要素の追加は store メソッドを使うことでも可能です。
1 |
ハッシュ.store(追加したい要素のキー, 値) |
第1引数に追加したい要素のキーを指定し、第2引数にペアとなる値を指定します。もし第1引数で指定したキーが既存のキーと同じ場合は、要素は追加されず値が更新されます。
以下は store メソッドを使用した例です。
1 2 3 |
hash = { "Mike" => 23, "Ken" => 28 } hash.store("Anna", 34) puts hash # { "Mike" => 23, "Ken" => 28, "Anna" => 34 } |
store メソッドは []= の別名ですので、結果は先ほどと同じになります。
要素の削除
ハッシュの要素を削除するときは delete メソッドを使用します。
1 |
ハッシュ.delete(削除したい要素のキー, 値) |
第1引数には削除したい要素のキーを指定します。delete メソッドは戻り値として要素の値を返します。もし指定した引数に対応するキーがなかった場合は、要素は削除されず nil を返します。
1 2 3 |
hash = { "Mike" => 23, "Ken" => 28 } hash.delete("Mike") puts hash # { "Ken" => 28 } |
上の例では、キーが "Mike" の要素を削除しています。