我使用ruby1.9.2p180(2011-02-18修订版30909)i686-linux。 Fiber#alive?
返回未定义的错误:
fiber = Fiber.new{puts 'hello'}
fiber.alive?
=> undefined error
其他方法,例如Fiber#resume
,Fiber.yield
似乎工作正常。有什么问题?
顺便说一下,Fiber#resume
和Fiber#transfer
之间有什么区别?
答案 0 :(得分:4)
你先忘了require 'fiber'
:
f = Fiber.new { puts 'hello' }
=> #<Fiber:0x896109c>
f.alive?
# NoMethodError: undefined method `alive?' for #<Fiber:0x896109c>
# from (irb):2
# from /home/johnf/.rvm/rubies/ruby-1.9.2-rc1/bin/irb:17:in `<main>'
require 'fiber'
=> true
f.alive?
=> true