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