ハッシュに含まれるキーや値を配列として取得する
作成されたハッシュオブジェクトからはキーを指定することで同じ要素の値を取得することができますが、キーと値をそれぞれ配列の形でまとめて取得することもできます。ここでは Ruby でハッシュオブジェクトからキーの一覧や値の一覧を配列として取得する方法について解説します。
(Last modified: )
キーの一覧を配列として取得する
ハッシュオブジェクトに含まれるキーの一覧を配列として取得するには、 Hash
クラスで用意されている keys
メソッドを使います。
オブジェクト.keys
ハッシュオブジェクトに含まれるキーを要素とする配列オブジェクトを返します。
具体的には次のように記述します。
h = {"Lemon" => 100, "Orange" => 150} array = h.keys
上記では、ハッシュに含まれるキーの「Lemon」と「Orange」を要素として持つ配列オブジェクトが作成されます。
値の一覧を配列として取得する
ハッシュオブジェクトに含まれる値の一覧を配列として取得するには、 Hash
クラスで用意されている values
メソッドを使います。
オブジェクト.values
ハッシュに含まれる値を要素とする配列オブジェクトを返します。
具体的には次のように記述します。
h = {"Lemon" => 100, "Orange" => 150} array = h.values
上記では、ハッシュに含まれる値の「100」と「150」を要素として持つ配列オブジェクトが作成されます。
キーと値のペアの一覧を配列として取得する
ハッシュオブジェクトに含まれるキーと値のペアを 1 つの配列として作成し、その配列を要素として持つ配列として取得するには、 Hash
クラスで用意されている to_a
メソッドを使います。
オブジェクト.to_a
この場合、ハッシュに含まれるキーと値は次のように配列として取得されます。
[[key1, values1], [key2, value2], ...]
ハッシュの要素であるキーと値を 1 つの配列として作成し、その配列を 1 つの要素とする配列を作成して返します。
具体的には次のように記述します。
h = {"Lemon" => 100, "Orange" => 150} array = h.to_a
上記では、["Lemon, 100]と["Orange", 150]の2つの配列を要素として持つ配列オブジェクトが作成されます。
では簡単なプログラムで確認してみます。
# encoding: UTF-8 h = {"Lemon" => 100, "Orange" => 150, "Banana" =>250} puts(h) puts() puts("keysメソッド"); key_array = h.keys p(key_array) puts() puts("valuesメソッド"); value_array = h.values p(value_array) puts() puts("to_aメソッド") array = h.to_a p(array)
下記のように実行して下さい。
-- --
Ruby でハッシュオブジェクトからキーの一覧や値の一覧を配列として取得する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。