检查条件时,循环不会终止

时间:2010-08-05 03:25:55

标签: ruby

输入x后,此循环不会终止。我是Ruby的新手,到目前为止,它与我之前学到的有很大不同 - 非常有趣,

total = 0
i = 0

while ((number = gets) != "x")
    total += number.to_i
    i += 1
end

puts  "\nAverage: " + (total / i).to_s

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

因为gets也为您提供换行符。你需要chomp它。

尝试:

while ((number = gets.chomp) != "x")

你会看到它开始工作:

pax> ruby testprog.rb
1
5
33
x

Average: 13