我是Ruby的新手,正在尝试为我5岁的儿子制作一个程序。我想问他如何在拼写列表中拼写一个单词(亲自,而不是在屏幕上),然后将其输入Ruby中,如果答案是正确的话,那么就说“做得好!”并重新运行。如果它不正确,那么它会'再试一次'!并重新运行。
以下是我提出的一个词:
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
答案 0 :(得分:2)
为了便于更新,我建议将正确的单词放在数组中:
words = %w{disappointed knowledge}
如果你有很多单词,你也可以把单词放在不同的行上。
然后,您可以检查输入的单词是否在列表中:
if words.include? spell
# ...
else
# ...
end
请注意,我使用else
而不是elsif
- else
涵盖了所有其他可能的条件,这就是您想要的。 elsif
也有效,但为什么在没有必要的情况下重复一次?
至于多次这样做,请使用loop
:
loop do
# ...
end
答案 1 :(得分:0)
你应该看一下ruby中的while循环。 http://www.ruby-doc.org/docs/Tutorial/part_02/while.html