Как использовать Ruby1.9 с обувью?
Вопрос
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. У меня еще не было времени попробовать его построить, но это должно решить мою проблему.