Suppoert multiple values in Enumerable#minmax_by

This commit is contained in:
Jun Hiroe
2014-03-23 11:48:46 +09:00
parent 776a680e89
commit 5b31ee9a2a
+7 -7
View File
@@ -395,18 +395,18 @@ module Enumerable
min_cmp = nil
first = true
self.each do |val|
self.each do |*val|
if first
max = min = val
max_cmp = min_cmp = block.call(val)
max = min = val.__svalue
max_cmp = min_cmp = block.call(*val)
first = false
else
if (cmp = block.call(val)) > max_cmp
max = val
if (cmp = block.call(*val)) > max_cmp
max = val.__svalue
max_cmp = cmp
end
if (cmp = block.call(val)) < min_cmp
min = val
if (cmp = block.call(*val)) < min_cmp
min = val.__svalue
min_cmp = cmp
end
end