標準クラス・モジュール > Hash
Hashクラスは、ハッシュ(連想配列)を表すオブジェクトを提供します。Rubyのハッシュについて詳しくはハッシュの説明をご覧ください。
ハッシュを作成するには、{ キー1 => 値1, キー2 => 値2, ...}のようにハッシュリテラルを使います。Hash.newや{}を使うと空のハッシュができます。ハッシュから値を取り出したり、値を設定したりするには、変数名[キー]とします。
scores = {} # 空のハッシュを作成
scores["Alice"] = 80 # キー"Alice"、値80のペアを追加
p scores["Alice"] # キー"Alice"の値を取り出し
# 3つのキー+値からなるハッシュを作成
user = { :name => "k-sato", :email => "k-sato@foo.xx.jp",
:address => "Tokyo" }
p user[:name] # キー:nameの値を取り出し
80 "k-sato"
値の取り出し・設定:[]、[]=、キー+値の数:length、空かどうか:empty?
キーが含まれるか:has_key?、繰り返し:each
キー+値の収集:select、collect、2つのハッシュを統合: merge
Hashの親クラスはObjectクラスで、Enumerableモジュールをインクルードしています。
Hash < Enumerable < Object < Kernel (< BasicObject)
[] : インスタンスの作成。new : インスタンスの作成。try_convert : to_hashメソッドの呼び出し。Ruby 1.9== : ハッシュの内容が同じかどうか調べる。[] : キーに対応する値を取り出す。[]= : キーと値のペアを追加、置換。assoc : キーに対応するキーと値のペアを返す。Ruby 1.9clear : ハッシュを空にする。compare_by_identity : オブジェクトIDでキーを比較する。Ruby 1.9compare_by_identity? : オブジェクトIDでキーを比較しているか調べる。Ruby 1.9default : デフォルト値を返す。default= : デフォルト値の変更。default_proc : デフォルト値のための手続きオブジェクトを返す。default_proc= : デフォルト値のための手続きオブジェクトの変更。Ruby 1.9delete : キーと値を削除。delete_if : ブロックが真を返すキーと値を削除。each : キーと値を繰り返し取り出す。each_key : キーを繰り返し取り出す。each_pair : キーと値を繰り返し取り出す。each_value : 値を繰り返し取り出す。empty? : ハッシュが空かどうか調べる。eql? : ハッシュのキーとして同じかどうか調べる。Ruby 1.8.7fetch : キーに対応する値を取り出し、キーがなければ指定の値を返す。flatten : ハッシュの平坦化。Ruby 1.9has_key? : キーが含まれるか調べる。has_value? : 値が含まれるか調べる。hash : ハッシュ値を返す。Ruby 1.8.7include? : キーが含まれるか調べる。index : 値に対応するキーを取り出す。indexes, indices : 複数のキーに対応する値を配列で取り出す。inspect : 読みやすい文字列に変換。invert : キーを値に、値をキーにする。keep_if : ブロックが真を返すキーと値を残し、偽を返すものを削除。Ruby 1.9.2key : 値に対応するキーを取り出す。Ruby 1.9key? : キーが含まれるか調べる。keys : キーの一覧を取り出す。length : キーと値の数を返す。member? : キーが含まれるか調べる。merge, merge! : 2つのハッシュを統合。rassoc : 値に対応するキーと値のペアを返す。Ruby 1.9rehash : キーのハッシュ値を再計算。reject : ブロックが偽を返すキーと値を集める。reject! : ブロックが真を返すキーと値を削除。replace : 自身を変更する。select : ブロックが真を返すキーと値を集める。select! : ブロックが真を返すキーと値を残し、偽を返すものを削除。Ruby 1.9.2shift : キーと値を1組削除。size : キーと値の数を返す。sort : キーと値をソート。store : キーと値のペアを追加、置換。to_a : 配列に変換。to_hash : 自身を返す。to_s : 文字列に変換。update : 別のハッシュの内容を加える。value? : 値が含まれるか調べる。values : 値の一覧を取り出す。values_at : 複数のキーに対応する値を配列で取り出す。