diff options
| -rw-r--r-- | mrbgems/mruby-enumerator/test/enumerator.rb | 4 | ||||
| -rw-r--r-- | mrblib/enum.rb | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/mrbgems/mruby-enumerator/test/enumerator.rb b/mrbgems/mruby-enumerator/test/enumerator.rb index 4ab857ae8..45d86685e 100644 --- a/mrbgems/mruby-enumerator/test/enumerator.rb +++ b/mrbgems/mruby-enumerator/test/enumerator.rb @@ -438,6 +438,10 @@ assert 'Integral#times' do assert_equal [0,1,2], c end +assert 'Enumerable#each_with_index' do + assert_equal [['a',0],['b',1],['c',2]], ['a','b','c'].each_with_index.to_a +end + assert 'Enumerable#map' do a = [1,2,3] b = a.map diff --git a/mrblib/enum.rb b/mrblib/enum.rb index 5a33ed3c5..04a27294c 100644 --- a/mrblib/enum.rb +++ b/mrblib/enum.rb @@ -108,6 +108,8 @@ module Enumerable # # ISO 15.3.2.2.5 def each_with_index(&block) + return to_enum :each_with_index unless block_given? + i = 0 self.each{|*val| block.call(val.__svalue, i) |
