是什么让Rake在Ruby中如此有用?

时间:2010-02-22 17:26:04

标签: ruby rake

也许这是一个愚蠢的问题,我不会在任何方面估计Rake的价值,我只是没有得到它。如果Rake有什么价值,那么任意执行的Ruby代码是什么?它显然擅长处理任务,但是什么阻止我编写一个类并将其嵌入到共享的Ruby目录中并将该代码作为我的任务执行呢? Rake真正提供什么价值?

3 个答案:

答案 0 :(得分:5)

  • Rake具有复杂构建工具的所有功能,例如Make (具有依赖关系管理规则等)......
  • Rake 易于扩展而不需要所有复杂的包装你还有其他...如果你试图扩展ant(jar文件和配置属性......)和meta-ness of使用Makefile构建一些C代码来扩展Make ...
  • Rake只需使用它想要管理的语言就可以扩展而无需额外的打包...... - 主要取决于红宝石语言的表现力。

答案 1 :(得分:3)

我认为它具有依赖的拓扑排序(以rake术语,先决条件)跟踪......

依赖关系跟踪逻辑通常涉及类似拓扑排序的类型,并且是一种 inference engine

结合rakefile中的数据,域数据和推理引擎的组合使其成为 expert system

好的,所以它不完全是(“早上好Dave” HAL

答案 2 :(得分:0)

(警告:我不是Ruby头,虽然我已经使用了一些基于Ruby的项目,所以我使用了Rake。)

我的直接反应是:结构,惯例和与其他项目的共性(因此共享很容易)。你自己的工具将是......你自己的工具,因此不同,因此违反惯例(我们知道Ruby社区是如何约定的!)。 [我希望Rake至少还有一些预先烘焙的功能(依赖关系管理),你不需要重新编码。]

make最初也不是那么重要;它只是一种通过“一点点”依赖管理来运行shell命令的方法。但是这个会议是如此强大以至于(尽管有一个令人头脑麻木的笨拙结构)makefile已经成为C项目的标准,到目前为止,三十年左右?