三元运算符
Ruby 有一个三元运算符(?:
),它根据条件是否为 truthy 返回两个值中的一个:
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