このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.0 リファレンスマニュアル

instance method Array#delete_if

delete_if {|x| ... } -> self[permalink][rdoc][edit]
delete_if -> Enumerator

要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返します。

ブロックが与えられなかった場合は、自身と delete_if から生成した Enumerator オブジェクトを返します。返された Enumerator オブジェクトの each メソッドには、もとの配列に対して副作用があることに注意してください。

a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x % 2 == 0}
p a # => [1, 3, 5]

[SEE_ALSO] Array#reject!, Array#select!, Array#keep_if