Method: Set#delete_if

Defined in:
lib/set.rb

#delete_if(&block) ⇒ Object

Deletes every element of the set for which block evaluates to true, and returns self. Returns an enumerator if no block is given.



546
547
548
549
550
551
552
# File 'lib/set.rb', line 546

def delete_if(&block)
  block_given? or return enum_for(__method__) { size }
  # Instead of directly using @hash.delete_if, perform enumeration
  # using self.each that subclasses may override.
  select(&block).each { |o| @hash.delete(o) }
  self
end