我想从sample.rake文件运行一个 ruby 类。
考虑myruby.rb是一个 ruby 文件。
我想从sample.rake运行它ruby myruby.rb
我想从sample.rake文件运行一个 ruby 类。
考虑myruby.rb是一个 ruby 文件。
我想从sample.rake运行它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 脚本,只在执行时起作用:
您可以考虑将脚本的内容封装到一个方法中,require 'myruby'
在 rake 任务中并在 rake 任务中执行所述方法。