Ruby 如何围绕我的“循环”编写循环;如果;测验?
我是Ruby新手,正在尝试为我5岁的儿子制作一个程序。我想问他如何在拼写列表中拼写一个单词(面对面,而不是在屏幕上),然后他将其输入Ruby,如果答案正确,则输入“干得好!”并重新运行。如果不正确,则会显示“重试!”并重新运行 以下是我对一个词的看法:Ruby 如何围绕我的“循环”编写循环;如果;测验?,ruby,Ruby,我是Ruby新手,正在尝试为我5岁的儿子制作一个程序。我想问他如何在拼写列表中拼写一个单词(面对面,而不是在屏幕上),然后他将其输入Ruby,如果答案正确,则输入“干得好!”并重新运行。如果不正确,则会显示“重试!”并重新运行 以下是我对一个词的看法: puts 'How do you spell?..' spell = gets.chomp if spell =='disappointed' puts 'Well Done!' elsif spell != 'disappointed' p
puts 'How do you spell?..'
spell = gets.chomp
if spell =='disappointed'
puts 'Well Done!'
elsif spell != 'disappointed'
puts 'try again!'
end
我的问题是:
end
作为一个开始,但我收到一条消息“意外$end,期待kEND”if spell =='disappointed' || 'knowledge' (etc)
puts 'Well Done!'
elsif spell != 'disappointed'|| 'knowledge' (etc)
puts 'try again!'
end
您应该看看ruby中的while循环。
为了便于更新,我建议将正确的单词放入数组:
words = %w{disappointed knowledge}
如果你有很多单词,你也可以把单词放在不同的行上
然后,您可以检查输入的单词是否在列表中:
if words.include? spell
# ...
else
# ...
end
请注意,我使用了else
而不是elsif
-else
覆盖了所有可能的其他条件,这正是您想要的elsif
也有效,但为什么在不必要时重复一个条件
对于多次执行,请使用循环
:
loop do
# ...
end
谢谢赫里希,我对循环有点了解,所以我猜我把循环放在了我写的“程序”之前和之后?是的。基本上是
code
,而真正的结束code
谢谢,太好了!你能告诉我为什么这不起作用吗?words=%w{失望知识}循环放置“如何拼写…”words=get.chomp if words.include?拼写“干得好!”否则就说“再试一次!”end@Jason:对于if
,您有一个end
,但是对于循环
没有end
。