ハッシュへの新しい要素の追加と要素の値の変更

作成したハッシュオブジェクトにはキーと値をペアとした新しい要素を追加することができます。また追加済みの要素に対してあとから値を変更することができます。ここでは Ruby で作成済みのハッシュオブジェクトに新しい要素を追加する方法、および要素の値を変更する方法について解説します。

(Last modified: )

ハッシュオブジェクトを作成する

作成したハッシュオブジェクトに対して新しい要素を追加するには次のように記述します。

ハッシュオブジェクト[キー] = 値

キーと値をペアとする新しい要素をハッシュオブジェクトに追加します。

具体的には次のように記述します。

h = {"Lemon" => 100}
h["Orange"] = 150

ハッシュオブジェクトにキーが "Orange"、値が 150 の新しい要素が追加されました。

要素の値を変更する

作成済みのハッシュオブジェクトに対して指定したキーの要素の値を別の値に変更することができます。書式は新しい要素を追加する場合と同じで次のように記述します。

ハッシュオブジェクト[キー] = 値

指定したキーの要素が既にハッシュオブジェクトに追加されていた場合は、そのキーに対する値を指定した新しい値に変更します。

具体的には次のように記述します。

h = {"Lemon" => 100, "Orange" => 150}
h["Orange"] = 120

キーが "Orange" の要素はすでにハッシュオブジェクトに追加されていますので、キーが "Orange" の要素の値が 150 から 120 に変更されます。

storeメソッドを使用する

Hash クラスには新しい要素を追加したり、指定したキーに対する新しい値を代入するための store メソッドが用意されています。書式は次の通りです。

ハッシュオブジェクト.store(key,value)

1 番目の引数にキー、 2 番目の引数に値を指定します。指定したキーの要素が既に追加されている場合はキーに対する新しい値に変更されます。またキーが存在していなかった場合はキーと値を持つ新しい要素がハッシュオブジェクトに追加されます。

具体的には次のように記述します。

h = {"Lemon" => 100, "Orange" => 150}
h.store("Lemon", 120)
h.store("Banana", 190)

上記ではキー "Lemon" に対する値を 120 に変更し、また新しい要素としてキーが "Banana" で値が 190 の要素が追加されます。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

h = {"Lemon" => 100, "Orange" => 150}
puts("Lemon = " + h["Lemon"].to_s);
puts("Orange = " + h["Orange"].to_s);

puts();

h["Lemon"] = 120

puts("Lemon = " + h["Lemon"].to_s);
puts("Orange = " + h["Orange"].to_s);
puts(hash)

puts();

h["Banana"] = 90
puts("Banana = " + h["Banana"].to_s);
puts(h)

下記のように実行して下さい。

要素の追加と値の変更

-- --

Ruby で作成済みのハッシュオブジェクトに新しい要素を追加する方法、および要素の値を変更する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。