diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-21 13:35:39 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-21 13:35:39 +0900 |
| commit | 07bd65ae65ba1092191f5a702ce3c15aaca2ab5f (patch) | |
| tree | 4ce9631aaefac502ac7533b173cde9770904d145 /mrbgems/mruby-enum-ext | |
| parent | 34a7c9f56765a12ae10c94c5070248a9eecab693 (diff) | |
| download | mruby-07bd65ae65ba1092191f5a702ce3c15aaca2ab5f.tar.gz mruby-07bd65ae65ba1092191f5a702ce3c15aaca2ab5f.zip | |
flat_map to support multiple values; ref #1902
Diffstat (limited to 'mrbgems/mruby-enum-ext')
| -rw-r--r-- | mrbgems/mruby-enum-ext/mrblib/enum.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mrbgems/mruby-enum-ext/mrblib/enum.rb b/mrbgems/mruby-enum-ext/mrblib/enum.rb index 6413198d4..d0e125850 100644 --- a/mrbgems/mruby-enum-ext/mrblib/enum.rb +++ b/mrbgems/mruby-enum-ext/mrblib/enum.rb @@ -256,10 +256,10 @@ module Enumerable return to_enum :flat_map unless block_given? ary = [] - self.each do |e| - e2 = block.call(e) + self.each do |*e| + e2 = block.call(*e) if e2.respond_to? :each - e2.each { |e3| ary.push(e3) } + e2.each {|e3| ary.push(e3) } else ary.push(e2) end |
