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 类 - 后者应该是这种情况。
我看到了this关于确定 Ruby 版本的问题(我的 mac 安装版本是 1.8),但我不知道如何更改版本。
最佳答案
查看Green Shoes .
它的功能基于 _why 的原始实现,但它被打包为 Gem 并专门为 1.9 构建。
关于ruby - 如何将 Ruby1.9 与 Shoes 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1434283/