2009-09-16 3 views
2

Обувь обертывает собственную рубинную установку, верно?Как использовать Ruby1.9 для обуви?

Я не могу использовать волокно, которое является функцией 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 

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

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

ответ

1

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

1

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

2

Отъезд Green Shoes.

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