内联 ifunless

常见的模式是使用内联或尾随 ifunless

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 子句。此外,通常不建议在主逻辑中使用条件修饰符 - 对于复杂的代码,应该使用普通的 ifelsifelse