我如何在鞋子上使用Ruby1.9?

时间:2009-09-16 17:10:46

标签: ruby shoes fiber

鞋子包装它自己的Ruby安装,对吗?

我不能使用作为Ruby1.9功能的Fiber。而且,我想用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类 - 后者应该是这种情况。

我看到this有关确定Ruby版本的问题(我的mac安装版本为1.8),但我不知道如何更改版本。

3 个答案:

答案 0 :(得分:2)

查看Green Shoes

它的功能基于_why的原始实现,但它被打包为Gem并专门为1.9构建。

答案 1 :(得分:1)

所以我跳进freenode #shoes,发现每晚的鞋子都使用Ruby1.9。我还没有时间尝试构建它,但这应该可以解决我的问题。

答案 2 :(得分:1)

或者你可以使用aman gupta的“穷人的纤维”或尝试做::纤维 或者不是。 GL! -r