如何从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任务中执行所述方法。