我理解rake
命令的实用程序,但是Rakefile中通常定义了哪些自定义操作?我是新手,并试图找出何时使用此功能。我已经发现了很多关于如何使用它的信息,但对“最佳实践”并不多。
答案 0 :(得分:4)
由于您要求最佳做法,请查看此书:Ruby Best Practices。第234-237页讨论了Rake文件。
为了解释,它增强了项目中任务的可发现性,以便不熟悉它的用户可以快速开始做有用的事情。
一个好的做法是为你的Rake任务添加desc()字符串,以便rake -- tasks
提供有意义的输出。
我个人使用的Rake的一些应用程序:
其他示例包括自动向Rubyforge发布代码/文档更新等。基本上,几乎任何可以在命令行完成的事情都可以在Rake中完成,您的想象力是极限。
答案 1 :(得分:3)
在Chads answer中回答你的后续问题:
只是一个跟进 - 使用rake而不是调用a有什么好处 ruby文件直接与口译员?
您可以使用rake作为定义命令行选项的方法。
我经常这样使用它:
require 'rake'
#
# Your task definitions
#
task :default => :mytask
if $0 == __FILE__
app = Rake.application
app[:default].invoke
end
如果我执行脚本,我的默认任务正在运行。但我也可以通过命令行上的rake启动它。
答案 2 :(得分:1)
Rake可用于任何类型的批处理命令,大多数人使用诸如设置,安装,运行,清理或其他与应用程序相关的操作。