首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

StopIteration

Parent:IndexError

引发停止迭代,特别是通过Enumerator#next。它由Kernel#循环救出。

代码语言:javascript
复制
loop do
  puts "Hello"
  raise StopIteration
  puts "World"
end
puts "Done!"

产生如下结果:

代码语言:javascript
复制
Hello
Done!

公共实例方法

result → value Show source

返回迭代器的返回值。

代码语言:javascript
复制
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
代码语言:javascript
复制
static VALUE
stop_result(VALUE self)
{
    return rb_attr_get(self, id_result);
}

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com