2013-10-16 121 views
2

我想从特定文件夹(不使用Rake gem)运行所有ruby文件(我只是为了学习的目的而尝试这种方式)。为了实现这一目标,我没有以下内容:通过脚本运行ruby文件

files = Dir[File.join(Dir.pwd, "tests/*.rb")] 

files.each do |file| 
    ruby file 
end 

当我运行上面的脚本,它抛出一个错误:

run.rb:13:in `block in <main>': undefined method `ruby' for main:Object (NoMethodError) 

我有红宝石安装在我的机器上。请建议在我的代码中进行更改以使其工作。

+0

可能已经回答[这里](http://stackoverflow.com/a/2636767/877472) –

回答

2

在ruby程序里面没有ruby方法。
您在终端中使用ruby,因为这是可执行文件的名称,而不是函数的名称。

您可以使用require来完成您想要实现的功能。

files = Dir[File.join(Dir.pwd, "tests/*.rb")] 

files.each do |file| 
    require file 
end 
+0

感谢达米安MATHIEU!一旦我被允许,我会接受答案。 – TDHM