2

我了解该rake命令的实用性,但 Rakefile 中通常定义了哪些类型的自定义操作?我是新手,想弄清楚何时适合使用此功能。我发现了很多关于如何使用它的知识,但对“最佳实践”却知之甚少。

4

3 回答 3

4

由于您要求最佳实践,请查看这本书:Ruby Best Practices。第 234-237 页讨论了 Rake 文件。

换句话说,它增强了项目中任务的可发现性,以便不熟悉它的用户可以快速开始做有用的事情。

一个好的做法是为您的 Rake 任务添加 desc() 字符串,以便rake -- tasks提供有意义的输出。

我个人使用的一些 Rake 应用程序:

  1. 试运行
  2. 宝石包装
  3. 文档生成

其他示例包括自动向 Rubyforge 发布代码/文档更新等。基本上,几乎可以在命令行中完成的任何事情都可以在 Rake 中完成,您的想象力是极限。

于 2011-08-29T19:29:27.800 回答
3

在乍得回答中回答您的后续问题:

只是一个后续 - 使用 rake 与直接使用解释器调用 ruby​​ 文件相比有什么优势?

您可以使用 rake 作为定义命令行选项的方法。

我经常这样使用它:

require 'rake'  

#
# Your task definitions
#

task :default => :mytask



if $0 == __FILE__
  app = Rake.application
  app[:default].invoke
end

如果我执行脚本,我的默认任务正在运行。但我也可以通过命令行上的 rake 启动它。

于 2011-08-29T19:28:26.787 回答
1

Rake 可用于任何类型的批处理命令,大多数人使用设置、安装、运行、清理或其他与应用程序相关的操作。

于 2011-08-29T18:29:20.483 回答