summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-enum-ext
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-enum-ext')
-rw-r--r--mrbgems/mruby-enum-ext/mrblib/enum.rb9
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