From c326ab877e8e9d04b672d14b37c7d5fa96d04e7b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 24 Mar 2014 18:39:06 +0900 Subject: improve Enumerable#reverse_each to be efficient --- mrbgems/mruby-array-ext/mrblib/array.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'mrbgems/mruby-array-ext/mrblib/array.rb') diff --git a/mrbgems/mruby-array-ext/mrblib/array.rb b/mrbgems/mruby-array-ext/mrblib/array.rb index 337cef632..feec10ead 100644 --- a/mrbgems/mruby-array-ext/mrblib/array.rb +++ b/mrbgems/mruby-array-ext/mrblib/array.rb @@ -201,4 +201,14 @@ class Array self.replace(result) end end + + # for efficiency + def reverse_each(&block) + i = self.size - 1 + while i>=0 + block.call(self[i]) + i -= 1 + end + self + end end -- cgit v1.2.3