內聯 ifunless
常見的模式是使用內聯或尾隨 if
或 unless
:
puts "x is less than 5" if x < 5
這被稱為條件修飾符,是新增簡單保護程式碼和早期返回的便捷方式:
def save_to_file(data, filename)
raise "no filename given" if filename.empty?
return false unless data.valid?
File.write(filename, data)
end
無法向這些修改器新增 else
子句。此外,通常不建議在主邏輯中使用條件修飾符 - 對於複雜的程式碼,應該使用普通的 if
,elsif
,else
。