什么是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文件
很简单吧,这次就分享到这里。下一次我们会讨论一下如何输入数值到变量。