Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Hashクラス > delete_if

instance method Hash#delete_if

delete_if -> Enumerator[permalink][rdoc]
reject! -> Enumerator
delete_if {|key, value| ... } -> self
reject! {|key, value| ... } -> self|nil

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

delete_if は常に self を返します。 reject! は、要素を削除しなかった場合には nil を返し、 そうでなければ self を返します。

ブロックを省略した場合は Enumerator を返します。

h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }

p h.reject!{|key, value| key.to_i < value.to_i }   #=> { 6 => "4", 8 => "2" }
p h                                                #=> { 6 => "4", 8 => "2" }

p h.delete_if{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i }   #=> nil

[SEE_ALSO] Hash#reject,Hash#delete

[SEE_ALSO] Hash#keep_if,Hash#select!