我了解rake命令的实用程序,但是Rakefile中通常定义了哪些类型的自定义操作?我是个新手,正在尝试弄清楚什么时候使用这个功能是合适的。我发现了很多关于如何使用它的知识,但关于“最佳实践”的知识还不是很多。
发布于 2011-08-30 03:29:28
既然您正在寻求最佳实践,请查看这本书:Ruby Best Practices。第234-237页讨论了Rake文件。
换句话说,它增强了项目中任务的可发现性,以便不熟悉它的用户可以快速开始做有用的事情。
一个不错的做法是为Rake任务添加desc()字符串,这样rake -- tasks就可以提供有意义的输出。
我个人使用过的一些Rake应用程序:
生成
其他例子包括自动向Rubyforge发布代码/文档更新,等等。基本上,几乎任何可以在命令行上完成的事情都可以在Rake中完成,而你的想象力是有限的。
发布于 2011-08-30 03:28:27
在Chads answer中回答您的后续问题
只是一个后续--使用rake比直接使用解释器调用ruby文件有什么优势?
您可以使用rake作为定义命令行选项的方法。
我经常这样使用它:
require 'rake'
#
# Your task definitions
#
task :default => :mytask
if $0 == __FILE__
app = Rake.application
app[:default].invoke
end如果我执行这个脚本,我的默认任务就是运行。但我也可以通过命令行上的rake启动它。
发布于 2011-08-30 02:29:20
Rake可以用于任何类型的批处理命令,大多数人使用设置、安装、运行、清理或其他与应用程序相关的操作。
https://stackoverflow.com/questions/7234222
复制相似问题