Ruby 2.4

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 }