三元運算子
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