Ruby 为什么计数器总是被重置?
我创建了一个简单的游戏,用户必须按字母顺序排列单词的顺序才能得分。出于某些奇怪的原因,即使用户答对了2个问题,分数仍返回1。我做错了什么Ruby 为什么计数器总是被重置?,ruby,Ruby,我创建了一个简单的游戏,用户必须按字母顺序排列单词的顺序才能得分。出于某些奇怪的原因,即使用户答对了2个问题,分数仍返回1。我做错了什么 def alphabetize(word) word.chars.sort_by(&:downcase).join end def words %w(hello yes) end @correct = 0 @incorrect = 0 def score (@correct / @correct + @incorrect)
def alphabetize(word)
word.chars.sort_by(&:downcase).join
end
def words
%w(hello yes)
end
@correct = 0
@incorrect = 0
def score
(@correct / @correct + @incorrect)
end
words.each do |word|
puts "Alphabetize '#{word}'"
answer = gets.chomp
if answer == alphabetize(word)
@correct += 1
p 'Nice!'
else
@incorrect += 1
p 'You suck!'
end
end
p "Your score: #{score}"
因为:
@correct / @correct
永远是我的傻瓜!我把括号放错地方了。小心整数除法。1/2 = 0