Как использовать Ruby1.9 с обувью? - PullRequest
2 голосов
/ 16 сентября 2009

Shoes обертывает свою собственную установку Ruby, верно?

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

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

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 (для моей установки Mac это 1.8), но я не знаю, как бы я изменил версию.

Ответы [ 3 ]

2 голосов
/ 01 октября 2012

Выезд Зеленая обувь .

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

1 голос
/ 05 октября 2009

или вы можете использовать "волокна бедняков" Амана Гупты или попробовать сделать :: Волокно или что нет. GL! -r

1 голос
/ 17 сентября 2009

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

...