Rubyリファレンス: Home

reject! (Hash)

Edit   History

標準クラス・モジュール > Hash > reject!

hash.reject! {|key, val| block }

reject!メソッドは、繰り返しブロックを実行し、ブロックの戻り値が真になったキーと値を削除します。ブロック引数keyvalにはキーと値が入ります。レシーバ自身を変更するメソッドです。

delete_ifと同じことをするメソッドですが、戻り値だけ異なります。削除が行われたときはレシーバ自身を返し、変化がなかったときはnilを返します。

次の例は、値が50未満であるキーと値を削除します。

scores = { "Alice" => 50, "Bob" => 60, "Carol" => 90, "David" => 40 }
scores.reject! {|key, val| val < 50 }
puts scores.has_key?("David")
false

関連項目