什么是Rake?
Rake是Ruby的一个gem, 使用Rake可以自动化一些常用的文件操作和读写操作。
安装Rake
使用gem install
来安装rake:
gem install rake
※安装Rake必须先安装Ruby。
Rake的基本用法
通过简单的例子来说明一下用法。
Rakefile文件
在想使用rake的文件夹内创建Rakefile
文件。每当我们在命令行里输入rake
时,rake就会执行Rakefile
里相应的脚本。
使用Rake说Hello World
用喜欢的编辑器打开Rakefile
文件,写入
task :default do
puts "Hello World"
end
保存文件,打开命令行,移动到该目录下。敲下:
rake
这样屏幕会显示Hello World
。很简单吧?稍微解释一下Rakefile
里面的内容。task
表示执行的任务,在这里:default
表示默认的任务。
第一次接触Ruby的人或许会奇怪,
:default
开头的:
号是什么意思。其实这是Ruby的一种变量(symbol
),它有点像其他语言中的enum
,主要用来对应一些数值。比如其他语言中,数组的key
一般是string
类型,但在Ruby里一般使用symbol
来定义。symbol
自身只是一种标签性质的变量。
友情提示:Ruby语言不需要
;
来结束行。
当然,我们可以把:default
改成:hello
:
task :hello do
puts "Hello World"
end
这样的话,我们需要敲入
rake hello
才会显示刚才的Hello World
。很简单吧,根据这个原理,我们可以试着创建多1个task
:
task :hello do
puts "Hello World"
end
task :bye do
puts "Good Bye"
end
这样,我们就可以使用rake hello
来说Hello World
,使用rake bye
来说goodbye
。
namespace
为了组织好每个任务,我们可以使用namespace
:
namespace :say do
task :hello do
puts "Hello World"
end
task :bye do
puts "Good Bye"
end
end
这样,我们刚才写的两个task
就可以使用下面的命令来呼出:
rake say:hello
Hello World
rake say:bye
Good Bye
可读性很强吧?这也是Ruby语言的特征。
使用Rake进行简单文件操作
新增文件
我们编辑一下Rakefile
,写入下面的代码
namespace :create do
# 新建一个txt文件
task :txt do
File.write('text.txt', '')
end
end
这样,敲入命令
rake create:txt
当前目录下便会新建一个叫text.txt
的文件。File
是Ruby里内建的一个class
。这个类可以非常方便地进行文件操作。这里介绍读取和写入这两个最常用的方法。
方法 | 效果 | 用例 |
---|---|---|
write | 写入文件 | File.write(文件路径, 内容) |
read | 读取文件 | content = File.read(文件路径) |
我们修改一下上面的代码
namespace :create do
# 定义一个变量
content = '我是txt文件'
# 新建一个txt文件
task :txt do
# 把content内容写入text.txt
File.write('text.txt', content)
# 输出信息
puts '----文件已经写入----'
# 读取文件内容到content_now
content_now = File.read('text.txt')
# 输出结果
puts content_now
end
end
结果会显示为:
rake create:txt
我是txt文件
很简单吧,这次就分享到这里。下一次我们会讨论一下如何输入数值到变量。