Method: Weak::Map#reject!
- Defined in:
- lib/weak/map.rb
#reject! {|key, value| ... } ⇒ Enumerator, ...
Deletes every key-value pair 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.
612 613 614 615 616 617 618 619 620 621 622 623 624 |
# File 'lib/weak/map.rb', line 612 def reject!(&block) return enum_for(__method__) { size } unless block_given? deleted_anything = false each do |key, value| next unless yield(key, value) delete(key) deleted_anything = true end self if deleted_anything end |