gpt4 book ai didi

ruby - 如何修复此 Ruby Yes/No-Style Loop?

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:49 25 4
gpt4 key购买 nike

我写了这个方法,使用内部的 while 循环 询问用户输入 n 次。思路很简单很普通,如果条件为真就重复while循环,问题是它不起作用...

def play_again?
flag = true
while flag
print "Would you like to play again? [y/n]: "
response = gets.chomp
case response
when 'y'
Game.play
when 'n'
flag = false
end
end
flag
end

play_again?

目前它只会成功重复一次然后退出,而不是继续循环,你们能告诉我哪里出了问题吗?(对不起,如果这是一个 n00b 问题,毕竟我是 ruby n00b)

谢谢。

最佳答案

可能出现的问题:

  • 检查 Game.play
  • 答案中的大写/非大写? -> String#upcase 或 String#downcase
  • 隐藏空格(答案之前/之后)-> String#strip 而不是 String#chomp

您也可以使用正则表达式(示例 N)或答案列表(是)来检查答案:

def play_again?
while true
print "Would you like to play again? [y/n]: "
case gets.strip
when 'Y', 'y', 'j', 'J', 'yes' #j for Germans (Ja)
puts 'I play' # Game.play
when /\A[nN]o?\Z/ #n or no
break
end
end
end

play_again?

关于ruby - 如何修复此 Ruby Yes/No-Style Loop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7534905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com