Refactor Array#each

This commit is contained in:
Jun Hiroe
2015-12-26 08:21:27 +09:00
parent a060bd5114
commit 88076901fd
+4 -7
View File
@@ -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