Как использовать Ruby1.9 с Shoes?

Обувь оборачивается собственной установкой Ruby, верно?

Я не могу использовать Fiber, который является функцией Ruby1.9. И я хочу использовать волокно для создания генератора.

Вот мой код (чтобы вы могли убедиться, что проблема не в моем коде):

class BrownianGenerator
  def initialize
    @x = 0
    @fiber = Fiber.new do
      loop do 
        @x = @x+rand; 
        Fiber.yield @x
      end
    end
  end
  def next; @fiber.resume end
  def rewind; @x=0 end
end

и если бы я сделал вот такое приложение для обуви:

Shoes.app do
  @b = BrownianGenerator.new
end

если я подтяну консоль обуви, я вижу ошибку:

uninitialized constant #<class:0xblah>::BrownianGenerator::Fiber

Поскольку в нем говорится, что Fiber является неинициализированной константой, либо с моим кодом что-то не так, либо эта версия Ruby не знает о классе Fiber - последнее должно иметь место.

Я видел этот вопрос об определении версии. Ruby (это 1.8 для моей установки Mac), но я не знаю, как бы изменить версию.


person bias    schedule 16.09.2009    source источник


Ответы (3)


или вы можете использовать «волокна бедняков» амана гупты или попробовать сделать :: волокно или что-то еще. GL! -р

person rogerdpack    schedule 05.10.2009

Обратите внимание на Зеленую обувь.

Его функциональность основана на исходной реализации _why, но она упакована как Gem и создана специально для 1.9.

person Anthony DeSimone    schedule 30.09.2012

Итак, я перешел на freenode #shoes и обнаружил, что ночная сборка обуви использует Ruby1.9. У меня еще не было времени попробовать его собрать, но это должно решить мою проблему.

person bias    schedule 17.09.2009