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#select!

() { (A) -> untyped } -> self?
select! {|element| ... } → self or nil
select! → enumerator

With a block given, like keep_if, but returns nil if no changes were made:

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

With no block given, returns an Enumerator.

Related: see Methods for Deleting.

See also #reset #size #replace #subset? also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0