Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

Array#delete_if

array.delete_if {|element| ... } → self
array.delete_if → Enumerator

Removes each element in self for which the block returns a truthy value; returns self:

Example
a = [:foo, 'bar', 2, 'bat']
a.delete_if {|element| element.to_s.start_with?('b') } # => [:foo, 2]

Returns a new Enumerator if no block given:

Example
a = [:foo, 'bar', 2]
a.delete_if # => #<Enumerator: [:foo, "bar", 2]:delete_if>
See also #delete_at #difference #delete #dig also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1