class StopIteration

Raised to stop the iteration, in particular by Enumerator#next. It is rescued by Kernel#loop.

loop do
 puts "Hello"
 raise StopIteration
 puts "World"
end
puts "Done!"

produces:

Hello
Done!

Public Instance Methods

result → value click to toggle source

Returns the return value of the iterator.

o = Object.new
def o.each
 yield 1
 yield 2
 yield 3
 100
end
e = o.to_enum
puts e.next #=> 1
puts e.next #=> 2
puts e.next #=> 3
begin
 e.next
rescue StopIteration => ex
 puts ex.result #=> 100
end
static VALUE
stop_result(VALUE self)
{
 return rb_attr_get(self, id_result);
}