2

特定のフォルダーからすべてのルビファイルを実行したい(Rake gemを使用せずに)(学習目的でのみこれを試しています)。それを達成するために、私は次のことをしました:

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)

マシンにルビーをインストールしました。それを機能させるためにコードの変更を提案してください。

4

1 に答える 1

2

rubyRuby プログラム内にメソッドはありません。
端末で ruby​​ を使用しているのは、それが関数の名前ではなく、実行可能ファイルの名前だからです。

require達成しようとしていることを実行するために使用できます。

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

files.each do |file|
  require file
end
于 2013-10-16T13:29:52.303 に答える