我想从 sample.rake 文件中运行ruby类。
考虑 myruby.rb 是一个ruby文件。
我想从 sample.rake (例如ruby myruby.rb
答案 0 :(得分:6)
在这里添加@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
答案 1 :(得分:1)
您可以使用系统调用
e.g。 http://www.ruby-doc.org/core-2.0/Kernel.html#method-i-system
或者假设你这样做的原因是 myruby.rb 是一个普通的ruby脚本,它只适用于执行:
您可以考虑将脚本的内容包含在rake任务中的方法require 'myruby'
中,并在rake任务中执行所述方法。