嘿家伙我是新来的红宝石,所以道歉,如果这似乎是一个愚蠢的问题,似乎无法弄清楚我做错了什么。红宝石 - 直到循环似乎没有正常工作
我一直在努力寻找网上寻求帮助,也不确定要在没有写出关于该问题的小说的情况下搜索什么。
该代码的目的是不断询问用户的输入,直到他们输入一个字母,我通过检查用户输入是否在数组“字母表”中来检查它,当他们这样做时它应该检查它“字”来检查信是我随机选择其他地方的字内(我试图代码刽子手,仅适用于上下文)
下面的代码:
def Check_Alph(word)
until $alphabet.include? 'guess' == true
puts "Please guess a letter from the alphabet"
guess = gets.chomp
puts "#{guess}"
end
if $alphabet.include? 'guess' == true
puts "valid letter entered, checking.."
$guessed_Letters << guess
if word.include? 'guess' == true
puts "good guess! That letter was in the word!"
puts "Letters confirmed to be in word: #{correct_Letters}"
end
end
end
在控制台,它只是出现了“请猜字母表中的一个字母”,然后当我输入一个字母时,它只是重提问题。我甚至尝试输出“猜测”来检查它是否正确得到了值,并且不知道发生了什么。
任何帮助将不胜感激!
编辑:
def Check_Alph()
guess == nil
until $alphabet.include?(guess)
puts "Please guess a letter from the alphabet"
guess = gets.chomp
puts "#{guess}"
end
end
'== true'不仅是多余的。在这个例子中(没有括号)它实际上导致了一个错误,因为'=='比方法调用有更强的绑定。 Ruby读取这样的行:'$ alphabet.include?('guess'== true)',显然与'$ alphabet.include?(false)'相同。并且由于'$ alphabet'包含字符,这将始终返回'false'。 – spickermann