如何从rake文件中运行ruby类?

我想从sample.rake文件中运行ruby类。

考虑myruby.rb是一个ruby文件。

我想从像ruby myruby.rb这样的ruby myruby.rb运行它

在这里添加@tobias所说的内容,您将使用示例脚本

样品含量myruby.rb

 puts "hello world" 

创建名为Rakefile文件

 task :default => [:test] task :test do ruby "my_file.rb" end 

现在,如果你调用rake它应该在控制台中提交hello world文本。

更新

如果你在@tobias已经建议的函数调用中包装你的调用会更有意义

所以你的Rakefile会变成类似的东西

 require './myruby.rb' task :default => [:test] task :test do ruby "my_file.rb" end task :test2 do do_something end 

myruby.rb

 def do_something puts "do something" end 

现在rake test2应该吐出来do something

您可以使用系统调用

例如http://www.ruby-doc.org/core-2.0/Kernel.html#method-i-system

或者假设您这样做的原因是myruby.rb是一个普通的ruby脚本, 它只适用于执行:

您可以考虑将脚本的内容封装到方法中,在rake任务中require 'myruby'并在rake任务中执行所述方法。