在 Ruby 中使用单行 unless 或 if 语句

Using a one-line unless or if statement in Ruby

我是 Ruby 的新手。我正在为这行代码寻找一个优雅的单行解决方案:

puts "Year: ".colorize(:light_blue) + "#{instrument.year}"

如果 instrument.year""(空字符串),我希望它打印 "N/A"。我想象一个除非,如果或||可能有用,但没有什么对我有用。还在学习!我有几个字段需要这种处理,所以我想避免使用 if/else/end 语句。

提前致谢!

我不确定你到底想要什么,但我的理解是如果 instrument.year 是空字符串,你想显示 instrument.yearN/A

所以我要做的是使用 ternary:

puts "Year: ".colorize(:light_blue) + "#{instrument.year.empty? ? 'N/A' : instrument.year}"