Волокно # жив?не определен - PullRequest
5 голосов
/ 16 марта 2011

Я использую 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?

1 Ответ

4 голосов
/ 16 марта 2011

Вы забыли 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 
...