Method: Multimap#select

Defined in:
lib/multimap.rb

#selectObject

call-seq:

map.select { |key, value| block }   => multimap

Returns a new Multimap consisting of the pairs for which the block returns true.

map = Multimap["a" => 100, "b" => 200, "c" => 300]
map.select { |k,v| k > "a" }  #=> Multimap["b" => 200, "c" => 300]
map.select { |k,v| v < 200 }  #=> Multimap["a" => 100]


465
466
467
468
469
470
# File 'lib/multimap.rb', line 465

def select
  inject(self.class.new) { |map, (key, value)|
    map[key] = value if yield([key, value])
    map
  }
end