Ruby三元运算符

示例

Ruby有一个三元运算符(?:),它会根据条件是否为真来返回两个值之一:

conditional ? value_if_truthy : value_if_falsy

value = true
value ? "true" : "false"
#=> "true"

value = false
value ? "true" : "false"
#=> "false"

和写作一样if a then b else c end,尽管三元数是首选。

例子:

puts (if 1 then 2 else 3 end) # => 2

puts 1 ? 2 : 3                # => 2

x = if 1 then 2 else 3 end
puts x                        # => 2