StopIteration
StopIteration类
Parent:IndexError
引发停止迭代,特别是通过Enumerator#next。它由Kernel#循环救出。
loop do
puts "Hello"
raise StopIteration
puts "World"
end
puts "Done!"
产生如下结果:
Hello
Done!
公共实例方法
result → value Show source
返回迭代器的返回值。
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
}