Ruby 纤维还活着吗?未定义

Ruby 纤维还活着吗?未定义,ruby,fiber,Ruby,Fiber,我使用ruby1.9.2p180(2011-02-18修订版30909)i686 linux光纤#活动?返回未定义的错误: fiber = Fiber.new{puts 'hello'} fiber.alive? => undefined error 其他方法,例如,Fiber#resume,Fiber.yield似乎效果不错。怎么了 顺便问一下,Fiber#resume和Fiber#transfer之间有什么区别?您忘记了首先需要“Fiber”: f = Fiber.new { put

我使用ruby1.9.2p180(2011-02-18修订版30909)i686 linux<代码>光纤#活动?返回未定义的错误:

fiber = Fiber.new{puts 'hello'}
fiber.alive?
=> undefined error
其他方法,例如,
Fiber#resume
Fiber.yield
似乎效果不错。怎么了


顺便问一下,
Fiber#resume
Fiber#transfer
之间有什么区别?

您忘记了
首先需要“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 
f=Fiber.new{put'hello'}
=> # 
f、 活着?
#NoMethodError:的未定义方法'alive'#
#来自(irb):2
#from/home/johnf/.rvm/rubies/ruby-1.9.2-rc1/bin/irb:17:in`'
需要“光纤”
=>正确
f、 活着?
=>正确

谢谢。我没有忘记,我不知道。医生里没有这么说。它说你需要为
Fiber.current
这样做,但它没有对
Fiber#alive?
这样说。那么可能是文档疏忽。如有疑问,请阅读代码。:)因此,只需要一些光纤,而不是所有光纤的方法都需要光纤?@Andrew似乎是这样。就我检查我的irb而言,
.new
.yield
#resume
不需要
需要
<代码>.current
#alive?
#transfer
执行。