Ruby 是否可以在Rakefile中使用另一个任务?

Ruby 是否可以在Rakefile中使用另一个任务?,ruby,rake,rakefile,Ruby,Rake,Rakefile,我有一些耙子任务,我想用在我的耙子里。是否可以将一个rakefile中定义的任务与另一个rakefile中定义的任务包含在一起?Rake文件与ruby文件没有什么不同。 因此,只需加载文件A,其中包含文件B中的其他任务,它们将在执行文件B时可用 例如,如果在Rakefile中放入以下代码 Dir['tasks/*.rake'].each { |file| load(file) } 然后,您可以在任务子文件夹中创建尽可能多的.rake文件,并从主Rakefile调用它们。我刚刚做了一些类似的操作

我有一些耙子任务,我想用在我的耙子里。是否可以将一个rakefile中定义的任务与另一个rakefile中定义的任务包含在一起?

Rake文件与ruby文件没有什么不同。 因此,只需加载文件A,其中包含文件B中的其他任务,它们将在执行文件B时可用

例如,如果在Rakefile中放入以下代码

Dir['tasks/*.rake'].each { |file| load(file) }

然后,您可以在
任务
子文件夹中创建尽可能多的
.rake
文件,并从主
Rakefile
调用它们。我刚刚做了一些类似的操作,如下所示:

task :master do
  `rake slave`
end

task :slave do
  puts "Hello World"
end

也许有点简陋,但它确实起到了作用。

是的。我总是这样做,以a)每个文件保留一个域(所有与gem相关的任务在
gem.rake
中,所有与测试相关的任务在
test.rake
中,所有与文档相关的任务在
doc.rake
中)和b)在不同的项目之间共享公共任务(调用RDoc、RSpec、RubyGems实际上是相同的,与特定的项目无关).我认为这一策略虽然可能奏效,但并不理想。请改为尝试:
Rake::Task[:'slave']。为主任务调用