2013-10-16 174 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