diff options
| author | ksss <[email protected]> | 2016-11-24 10:35:15 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2016-11-24 10:35:15 +0900 |
| commit | 5134734541dd993f74a40b1621009add2cf110bf (patch) | |
| tree | 43989dc411936cec04d06b8550d7be5cb7938b0a /mrbgems/mruby-enum-ext | |
| parent | 9e2faec8e4f5cb24ffc8a7f10284c05598b91acd (diff) | |
| download | mruby-5134734541dd993f74a40b1621009add2cf110bf.tar.gz mruby-5134734541dd993f74a40b1621009add2cf110bf.zip | |
Shouldn't call `each` method if size is 0
Diffstat (limited to 'mrbgems/mruby-enum-ext')
| -rw-r--r-- | mrbgems/mruby-enum-ext/mrblib/enum.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mrbgems/mruby-enum-ext/mrblib/enum.rb b/mrbgems/mruby-enum-ext/mrblib/enum.rb index bd64cc6bd..5b50aba00 100644 --- a/mrbgems/mruby-enum-ext/mrblib/enum.rb +++ b/mrbgems/mruby-enum-ext/mrblib/enum.rb @@ -61,9 +61,11 @@ module Enumerable i = n.to_int raise ArgumentError, "attempt to take negative size" if i < 0 ary = [] + return ary if i == 0 self.each do |*val| - break if ary.size >= n ary << val.__svalue + i -= 1 + break if i == 0 end ary end |
