diff options
| -rw-r--r-- | mrbgems/mruby-enumerator/mrblib/enumerator.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mrbgems/mruby-enumerator/mrblib/enumerator.rb b/mrbgems/mruby-enumerator/mrblib/enumerator.rb index d02caf5a0..ecc3760b0 100644 --- a/mrbgems/mruby-enumerator/mrblib/enumerator.rb +++ b/mrbgems/mruby-enumerator/mrblib/enumerator.rb @@ -587,8 +587,12 @@ class Enumerator val = init y.yield(val) end - loop do - y.yield(val = block.call(val)) + begin + while true + y.yield(val = block.call(val)) + end + rescue StopIteration + # do nothing end end end |
