类 StopIteration
为了停止迭代而引发,特别是由 Enumerator#next
引发。它会被 Kernel#loop
捕获。
loop do puts "Hello" raise StopIteration puts "World" end puts "Done!"
产生
Hello Done!
公共实例方法
result → value 点击切换源代码
返回迭代器的返回值。
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); }