【发布时间】:2017-02-05 20:42:00
【问题描述】:
这是我的代码:
array = ["b", "c", "a", "e", "d", "g", "i", "f"]
array.each_index do |letter|
if array[letter] == ("a" || "e" || "i" || "o" || "u")
puts "found #{array[letter]}"
end
end
我希望它返回这个:
found a
found e
found i
但我只得到
found a
此外,如果我在第 3 行的 () 中更改元素的顺序,例如像这样
if array[letter] == ("e" || "a" || "i" || "o" || "u")
代码返回found e 而不是found a。
我想我理解了这个问题——Ruby 只检查 array 中 () 中的第一个元素。但谁能解释这是为什么?我希望它能检查所有这些。
【问题讨论】: