【发布时间】:2016-07-09 20:59:48
【问题描述】:
我正在阅读 Chris Pine 的 Learn to Program 并陷入了Deaf Gradma 练习。该计划的目的是让奶奶回答哈?!说出来,桑尼!对你说的任何话,除非你说的都是大写的东西(在这种情况下,她回答 NO,NOT SINCE #{random year}!)或者如果你连续三次重复说 BYE(在这种情况下程序结束)。所以基本上程序会一直运行下去,除非你连续三次重复说 BYE。
while true
byes = 0
say_to_grandma = gets.chomp
if say_to_grandma == "BYE"
byes += 1
else
byes = 0
end
if byes == 3
abort
end
if say_to_grandma != say_to_grandma.upcase
puts "HUH?! SPEAK UP, SONNY!"
else
random_year = rand(90) + 1926
puts "NO, NOT SINCE #{random_year}!"
end
end
我无法解决的问题是结束程序。我进行了广泛的研究,但找不到解决方案。我尝试了退出和中止,但它们没有像我预期的那样工作。或者我的逻辑有问题。
【问题讨论】:
-
提示:你在哪里将
byes设置为 0? -
操作。绝对
byes不应该在那里。