根据if语句选择数组中的元素

Mat*_*usz 2 ruby

我想根据Ruby中的条件值打印两个字符串中的一个.

当然,它总是以最经典的方式完成:

if a==1 then puts "Yes!" else puts "No!" end
Run Code Online (Sandbox Code Playgroud)

甚至

puts (a==1 ? "Yes!" : "No!")
Run Code Online (Sandbox Code Playgroud)

但我正在寻找使用列表/数组的更多Ruby/Python方式.在Python中,它可以通过以下方式完成:

print ['Yes', 'No'][1==2]
Run Code Online (Sandbox Code Playgroud)

有没有类似的方法来实现这一点与Ruby?上面的代码(用Ruby编写)不起作用,因为布尔值作为索引,即使我尝试了它也不起作用(1==2).to_i......
任何想法?

saw*_*awa 5

如果您a是数字,您可以这样做:

puts ["Yes!", "No!"][a <=> 1]
Run Code Online (Sandbox Code Playgroud)