Add `Hash#fetch_values`; CRuby2.3

parent 913b83d5
......@@ -474,4 +474,25 @@ class Hash
end
self
end
##
# call-seq:
# hsh.fetch_values(key, ...) -> array
# hsh.fetch_values(key, ...) { |key| block } -> array
#
# Returns an array containing the values associated with the given keys
# but also raises <code>KeyError</code> when one of keys can't be found.
# Also see <code>Hash#values_at</code> and <code>Hash#fetch</code>.
#
# h = { "cat" => "feline", "dog" => "canine", "cow" => "bovine" }
#
# h.fetch_values("cow", "cat") #=> ["bovine", "feline"]
# h.fetch_values("cow", "bird") # raises KeyError
# h.fetch_values("cow", "bird") { |k| k.upcase } #=> ["bovine", "BIRD"]
#
def fetch_values(*keys, &block)
keys.map do |k|
self.fetch(k, &block)
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment