diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-24 23:44:23 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-24 23:44:23 +0900 |
| commit | aa5920aaaeaf8a59aacb4f0bcba4f11fb2341ce0 (patch) | |
| tree | b156115725f31352fa822fdac50281ba97933c56 /mrbgems/mruby-enum-ext/mrblib/enum.rb | |
| parent | c326ab877e8e9d04b672d14b37c7d5fa96d04e7b (diff) | |
| download | mruby-aa5920aaaeaf8a59aacb4f0bcba4f11fb2341ce0.tar.gz mruby-aa5920aaaeaf8a59aacb4f0bcba4f11fb2341ce0.zip | |
Enumerable#reverse_each should not rely on mruby-array-ext gem
Diffstat (limited to 'mrbgems/mruby-enum-ext/mrblib/enum.rb')
| -rw-r--r-- | mrbgems/mruby-enum-ext/mrblib/enum.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mrbgems/mruby-enum-ext/mrblib/enum.rb b/mrbgems/mruby-enum-ext/mrblib/enum.rb index 0ce1d7605..127b5dc8c 100644 --- a/mrbgems/mruby-enum-ext/mrblib/enum.rb +++ b/mrbgems/mruby-enum-ext/mrblib/enum.rb @@ -518,9 +518,12 @@ module Enumerable # def reverse_each(&block) - ary = [] - self.each {|*val| ary.push(val.__svalue) } - ary.reverse_each(&block) + ary = self.to_a + i = ary.size - 1 + while i>=0 + block.call(ary[i]) + i -= 1 + end self end end |
