鞋子包装了它自己的 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 类 - 后者应该是这种情况。
我在确定 Ruby 的版本(我的 mac 安装为 1.8)时看到了这个问题,但我不知道如何更改版本。