do~end 与 {~}

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

给人一种很难断句的感觉

你可能感兴趣的:(do~end 与 {~})