勉強メモ

主にプログラミングの勉強メモ

Ruby ハッシュの主なメソッド

ハッシュに関するメソッドのメモ。

初期化

{key => val}, {symbol : val}

基本的な指定の仕方。

h1 = {"a" => "b"}
h2 = {a: "b"}

h.new, h.new(val)

新しくハッシュを作る。 引数を指定すると、登録されていないキーを指定した場合に返す値を設定できる。

値を取り出す

h.fetch(key), h.fetch(key, default)

key を探し、見つかればkeyに対応する値を返す。 見つからない場合、引数が一つならエラー、引数が二つならdefaultの値を返す。

each_keys{ |key| ... }

key を順に取り出し、ブロックを実行する。

each_value{ |value| ... },

値を順に取り出してブロックを実行する。

each{ |key, value| ... }, each{|配列| ... }

key, value 同時取り出し。配列として取り出すこともできる。

key, value を持つか調べる

h.key?(key), h.has_key?(key), h.include?(key), h.member?(key)

key を持つか調べる。どれも同じ。

h.value?(value), h.has_value?(value)

value を持つか調べる。どちらも同じ。

h.empty?

ハッシュが空なら true を返す。

要素の削除

h.delete(key), h.delete(key){ |key| ... }

キーを指定して要素を削除する。 ブロックを引数に取る場合は、キーが存在しなかった場合、ブロックの実行結果を返す。 ¯

h.delete_if{ |key, val| ... }, h.reject!{ |key, val| ... }

各キーと値についてブロックを実行し、ブロックで指定した条件が true なら要素を削除する。 reject! では、条件に当てはまるものがなければ nil を返す。

h.clear

ハッシュを空にする。コピーを作らず、一度使ったハッシュを空にして再利用するときに使う。