2010-08-05 3 views
3

Cette boucle ne se termine pas après avoir tapé x. Je suis vraiment nouveau à Ruby, et jusqu'à présent, il est tellement différent de ce que j'ai appris avant - tout à fait intéressant,La boucle ne se termine pas lors de la vérification d'une condition

total = 0 
i = 0 

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

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

Toute aide est grandement appréciée.

Répondre

4

Parce que gets vous donne aussi la nouvelle ligne. Vous devez chomp il.

Essayez:

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

et vous verrez qu'il commence à travailler:

pax> ruby testprog.rb 
1 
5 
33 
x 

Average: 13 
+0

fonctionnent parfaitement! Je vous remercie! – jn1kk

Questions connexes