解决方法
后缀式if和除非也适用于“后卫条款”,形式如下:
return if ... return unless ...
这是一个例子:
# suffix-style def save return false if invalid? # go for it true end
与:
# indented style def save if valid? # go for it true else false end end
在第二个例子中,由于有效的方法,方法的整个实现必须被一个缩进移位?检查,我们需要一个额外的else子句.用后缀样式,无效? check被认为是我们处理然后拯救的边缘情况,并且该方法的其余部分不需要缩进或else子句.
这有时被称为“保护条款”,并且是Ruby样式指南的recommended.