Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

instance method

Set#keep_if

() { (A) -> untyped } -> self
keep_if {|element| ... } → self
keep_if → enumerator

With a block given, calls the block with each element in self, deleting the element if the block returns false or nil; returns self:

Example
set = Set[*0..9]           # => Set[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
set.keep_if {|i| i.even? } # => Set[0, 2, 4, 6, 8]
set.keep_if {|i| i.odd? }  # => Set[]

With no block given, returns an Enumerator.

Related: see Methods for Deleting.

See also #join #length #intersection #map! also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0