summaryrefslogtreecommitdiffhomepage
path: root/mrblib/array.rb
diff options
context:
space:
mode:
authorksss <[email protected]>2014-03-14 23:50:40 +0900
committerksss <[email protected]>2014-03-15 08:15:04 +0900
commitbc63518fa7fba78531b6ab1fbb42895b1f834423 (patch)
tree837a8c52bdf423f190e7ad7a9e62ccdd8c2daf78 /mrblib/array.rb
parent29964cfdac05d558ae699e890d7224d5d04eadb5 (diff)
downloadmruby-bc63518fa7fba78531b6ab1fbb42895b1f834423.tar.gz
mruby-bc63518fa7fba78531b6ab1fbb42895b1f834423.zip
modify core method that return Enumerator object if not block given
Diffstat (limited to 'mrblib/array.rb')
-rw-r--r--mrblib/array.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/mrblib/array.rb b/mrblib/array.rb
index 9141146e5..aa50ac181 100644
--- a/mrblib/array.rb
+++ b/mrblib/array.rb
@@ -31,6 +31,8 @@ class Array
#
# ISO 15.2.12.5.11
def each_index(&block)
+ return to_enum :each_index unless block_given?
+
idx = 0
while(idx < length)
block.call(idx)
@@ -46,6 +48,8 @@ class Array
#
# ISO 15.2.12.5.7
def collect!(&block)
+ return to_enum :collect! unless block_given?
+
self.each_index{|idx|
self[idx] = block.call(self[idx])
}