diff options
| author | Jun Hiroe <[email protected]> | 2014-03-23 11:48:46 +0900 |
|---|---|---|
| committer | Jun Hiroe <[email protected]> | 2014-03-23 11:48:46 +0900 |
| commit | 5b31ee9a2ab463561ee8793ab6387d2ca2c6e21f (patch) | |
| tree | 88f91fe5453e60608758f76787e48bc354563e3c /mrbgems | |
| parent | 776a680e89701e2d1ea5c6ff3e952fc4b8e72cba (diff) | |
| download | mruby-5b31ee9a2ab463561ee8793ab6387d2ca2c6e21f.tar.gz mruby-5b31ee9a2ab463561ee8793ab6387d2ca2c6e21f.zip | |
Suppoert multiple values in Enumerable#minmax_by
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-enum-ext/mrblib/enum.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/mrbgems/mruby-enum-ext/mrblib/enum.rb b/mrbgems/mruby-enum-ext/mrblib/enum.rb index 4b0b87bcc..8a2cdd5f1 100644 --- a/mrbgems/mruby-enum-ext/mrblib/enum.rb +++ b/mrbgems/mruby-enum-ext/mrblib/enum.rb @@ -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 |
