使用嵌套循环连续循环

时间:2013-10-03 19:35:58

标签: ruby while-loop

我尝试执行的代码示例如下:

puts 'Please choose "A" or "B"?'
STDOUT.flush
@answer = gets.chomp.upcase
while @answer != "A" || "B"
    puts 'Invalid answer, choose "A" or B"'
    STDOUT.flush
    @answer = gets.chomp.upcase

end

如果输入A或B,我怎样才能停止循环播放。如果我删除了While循环,我可以让@answer成为A或B,但是一旦我添加它就会不断循环,无论我输入什么内容。

3 个答案:

答案 0 :(得分:1)

我认为你的WHILE条件不好,你不能只说A || B,也许重复这个条件?也许是这样的?

while @answer != "A" || @answer != "B"

希望它有所帮助。 :)

(编辑:甚至可以使用AND (&&)代替OR (||)?)

答案 1 :(得分:0)

以下方式也可行:

unless ["A","B"].include? @answer

答案 2 :(得分:0)

我更喜欢

@answer = nil 
until @answer == 'A' || @answer == 'B' do
  @answer = gets.chomp
end