summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-enumerator/mrblib/enumerator.rb8
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