Method: Weak::Set#reject!
- Defined in:
- lib/weak/set.rb
#reject! {|element| ... } ⇒ Enumerator, ...
Deletes every live element from ‘self` for which the given block evaluates to a truethy value.
Equivalent to #delete_if, but returns ‘nil` if no changes were made.
If no block is given, an ‘Enumerator` is returned instead.
deleted, or an `Enumerator` if no block was given.
#see #delete_if
615 616 617 618 619 620 621 622 623 624 |
# File 'lib/weak/set.rb', line 615 def reject!(&block) return enum_for(__method__) { size } unless block_given? deleted_anything = false each do |obj| deleted_anything = true if yield(obj) && delete?(obj) end self if deleted_anything end |