看rail模板中使用了很多代码块,看得时候覺得有点晕,决定在这里总结一下代码块的用法。
首先, 代码块的定义方法有两种:
写在
do
end
或者 写在{} 中。
然后你可以定义方法, 在方法中用yield调用代码块,并可以给代码块传参。如下:
def callblock(arg)
yield arg
end
callblock(3) do |i|
puts i
end
代码块的主要作用就是控制块代码的迭代次数,比如你可以编写一个方法,专注与程序迭代执行的次数,而不需要关心程序执行了什么代码,这样写有助与程序更好的实现功能上的分割,可高效的重复使用代码。