Ruby中的Rake任务详述.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ruby中的Rake任务详述 Rake简介 Rake和Make及Ant Rake的意思是Ruby Make,一个用ruby开发的代码构建工具。Rake的英文意思是耙子,一种很朴实的劳动工具。真的是很贴切,Rake正是一个功能强大、勤勤恳恳的劳动工具。 但是,为什么Ruby需要Rake? Ruby代码不需要编译,为什么需要Rake?其实,与其说Rake是一个代码构建工具,不如说Rake是一个任务管理工具,通过Rake我们可以得到两个好处: 以任务的方式创建和运行脚本 当然,你可以用脚本来创建每一个你希望自动运行的任务。但是,对于大型的应用来说,你几乎总是需要为数据库迁移(比如Rails中db:migrate任务)、清空缓存、或者代码维护等等编写脚本。对于每一项任务,你可能都需要写若干脚本,这会让你的管理变得复杂。那么,把它们用任务的方式整理到一起,会让管理变得轻松很多。 追踪和管理任务之间的依赖 Rake还提供了轻松管理任务之间依赖的方式。比如,“migrate”任务和“schema:dump”任务都依赖于 “connect_to_database”任务,那么在“migrate”任务调用之前,“connect_to_database”任务都会被执行。 在哪里可以获得Rake? Rake的主页是在/,在这里你可以获得Rake的简单介绍,API以及一些有用文档的链接。可以在/frs/?group_id=50获得最新版的Rake,在作者写作时,最新版本是0.7.3。 Rake脚本编写 一个简单脚本 Rake的脚本相当简单,下面用一个例子进行说明。假设你是一个勤劳的家庭型程序员,在周末你打算为你的家人做一些贡献。所以你为自己制定了三个任务:买菜、做饭和洗衣服。打开你的文本编辑器,创建一个名叫rakefile的文件(Rake会在当前路径下寻找名叫Rakefile、rakefile、RakeFile.rb和rakefile.rb的rake文件),并输入如下内容: desc 任务1 -- 买菜 task :purchaseVegetables do puts 到沃尔玛去买菜。 end desc 任务2 -- 做饭 task :cook do puts 做一顿香喷喷的饭菜。 end desc 任务3 -- 洗衣服 task :laundry do puts 把所有衣服扔进洗衣机。 end 打开命令行工具,进入这个文件所在目录,然后运行下面的命令,大致应该类似如下结果: D:\work\ruby_works\ruby_bookrake purchaseVegetables (in D:/work/ruby_works/ruby_book) 到沃尔玛去买菜。 D:\work\ruby_works\ruby_bookrake cook (in D:/work/ruby_works/ruby_book) 做一顿香喷喷的饭菜。 D:\work\ruby_works\ruby_bookrake laundry (in D:/work/ruby_works/ruby_book) 把所有衣服扔进洗衣机。 分析 很简单,也很易读,对吧。这个文件一共定义了3个任务,desc是Rake定义的方法,表示对下面定义任务的描述。这个描述会在使用Rake --tasks(或者Rake -T,为懒人准备的快捷方式)命令时输出在屏幕上。 D:\work\ruby_works\ruby_bookrake --tasks (in D:/work/ruby_works/ruby_book) rake cook # 任务2 -- 做饭 rake laundry # 任务3 -- 洗衣服 rake purchaseVegetables # 任务1 -- 买菜 下面的语句定义了purchaseVegetables这个任务,task是Rake最重要的方法。它的方法定义是:task(args, block)。任务体是一个block,本例中只是简单输出你所要做的工作。需要注意的是代码 puts 到沃尔玛去买菜。 完全是一个普通的Ruby语句,puts是Ruby中进行输出的一般性方法,可以看出,Rake任务可以完全使用Ruby的能力,这使得它非常强大。 加入依赖关系 很显然,在我们定义的任务中,做饭是依赖于买菜的(我相信大多数程序员在周末的冰箱里除了可乐没有别的)。那么,我们需要在我们的任务定义中加入这个依赖关系,修改后的文件如下: desc 任务1 -- 买菜 task :purchaseVegetables do puts 到沃尔玛去买菜。 end desc 任务2 -- 做饭 task :cook = :purchaseVegetab

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档