do~end 与 {~}
2017-06-20 本文已影响0人
半岛爱
ruby块的两种写法,从执行效果看,两种方法没有太大区别,但一般会遵守约定成俗的习惯。也就是所谓的“convention over configuration”
do end 程序是跨行写的时候使用,程序写在1行的时候用{~}
以times方法来举例,会有以下两种写法。
10.times do |i|
puts i
end
或者
10.times{|i| puts i}
刚开始大家可能会有点不习惯。我们可以这样理解,do~end表示程序要执行内容是多个处理的集合,而{~}则表示程序需要执行的处理只有一个,即把整个带块的方法看作一个值。
如果用把do~end代码合并在一起,程序会变成下面这样:
10.times do |i| puts i end
给人一种很难断句的感觉