instance method
Set#select!
() { (A) -> untyped } -> self?
select! { |o| ... } → self
select! → enumerator
set.c
View on GitHub ↗
static VALUE
set_i_select(VALUE set)
{
RETURN_SIZED_ENUMERATOR(set, 0, 0, set_enum_size);
rb_check_frozen(set);
set_table *table = RSET_TABLE(set);
size_t n = set_table_size(table);
set_iter(set, set_keep_if_i, (st_data_t)table);
return (n == set_table_size(table)) ? Qnil : set;
}
Equivalent to Set#keep_if, but returns nil if no changes were made. Returns an enumerator if no block is given.