summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-12-26 10:49:20 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-12-26 10:49:20 +0900
commitd10e304d799d39a1fa861f19d6bb36ddf950551b (patch)
treef224df9a476c25561f016a30c0271309fc3c6fa0
parent6218b2e098adc4bdfa69ee00f0b1aebad18846d3 (diff)
parent88076901fda5edd312b198c89493a39e4c840ade (diff)
downloadmruby-d10e304d799d39a1fa861f19d6bb36ddf950551b.tar.gz
mruby-d10e304d799d39a1fa861f19d6bb36ddf950551b.zip
Merge pull request #3062 from suzukaze/refactor-array-each
Refactor Array#each
-rw-r--r--mrblib/array.rb11
1 files changed, 4 insertions, 7 deletions
diff --git a/mrblib/array.rb b/mrblib/array.rb
index 20174419e..d5a2d8405 100644
--- a/mrblib/array.rb
+++ b/mrblib/array.rb
@@ -12,13 +12,10 @@ class Array
def each(&block)
return to_enum :each unless block_given?
- idx, length = -1, self.length-1
- while idx < length and length <= self.length and length = self.length-1
- elm = self[idx += 1]
- if elm.nil? and length >= self.length
- break
- end
- block.call(elm)
+ idx = 0
+ while idx < length
+ block.call(self[idx])
+ idx += 1
end
self
end