Skip to content

End of Life Ruby 3.2 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+:

  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:

  a = [:foo, 'bar', 2]
  a.delete_if # => #<Enumerator: [:foo, "bar", 2]:delete_if>

3

See also #delete_at #difference #delete #dig also in 4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0