Rubyでハッシュの要素を更新・追加・削除する

今回は Ruby でハッシュの要素を更新・追加・削除する方法を紹介します。

要素の更新

ハッシュの要素を更新するときは、ハッシュに更新したい要素のキーを指定し、値を代入します。

ハッシュ[更新したい要素のキー] = 値

以下はハッシュの値を更新する例です。

hash = { "Mike" => 23, "Ken" => 28 }
hash["Mike"] = 30
puts hash # { "Mike" => 30, "Ken" => 28}

上の例では、キーが "Mike" の要素の値が 23 から 30 に更新しています。

要素の追加

ハッシュに要素を追加するときは、ハッシュに追加したい要素のキーを指定し、値を代入します。

ハッシュ[追加したい要素のキー] = 値

このとき指定したハッシュのキーが既存のキーと同じ場合は、要素は追加されず値が更新されます。

hash = { "Mike" => 23, "Ken" => 28 }
hash["Anna"] = 34
puts hash # { "Mike" => 23, "Ken" => 28, "Anna" => 34 }

上の例では、キーが "Anna"、値が 34 の要素を追加しています。

また、ハッシュの要素の追加は store メソッドを使うことでも可能です。

ハッシュ.store(追加したい要素のキー, 値)

第1引数に追加したい要素のキーを指定し、第2引数にペアとなる値を指定します。もし第1引数で指定したキーが既存のキーと同じ場合は、要素は追加されず値が更新されます。

以下は store メソッドを使用した例です。

hash = { "Mike" => 23, "Ken" => 28 }
hash.store("Anna", 34)
puts hash # { "Mike" => 23, "Ken" => 28, "Anna" => 34 }

store メソッドは []= の別名ですので、結果は先ほどと同じになります。

要素の削除

ハッシュの要素を削除するときは delete メソッドを使用します。

ハッシュ.delete(削除したい要素のキー, 値)

第1引数には削除したい要素のキーを指定します。delete メソッドは戻り値として要素の値を返します。もし指定した引数に対応するキーがなかった場合は、要素は削除されず nil を返します。

hash = { "Mike" => 23, "Ken" => 28 }
hash.delete("Mike")
puts hash # { "Ken" => 28 }

上の例では、キーが "Mike" の要素を削除しています。


イベント