Вопрос

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), но я не знаю, как бы я изменил версию.

Это было полезно?

Решение

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

Другие советы

Ознакомьтесь с Green Shoes .

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top