我正在尝试编写一个以整数变量的某个值退出的循环。
i=2
while i != 5 do
puts "insert an integer. 5 to end"
i = gets.chomp
puts "you entered #{i}"
end
puts "program end"
程序一直要求put“插入一个整数.5结束”即使我插入5
与循环做同样的故事
i=2
loop do
puts "insert an integer. 5 to end"
i = gets.chomp
puts "you entered #{i}"
break if i == 5
end
puts "program end"
答案 0 :(得分:4)
i=2
while i != "5" do
puts "insert an integer. 5 to end"
i = gets.chomp
puts "you entered #{i}"
end
puts "program end"
您正在从用户处获取字符串,因此i != 5
始终评估为false。您可以将其转为i != "5"
或将字符串转换为整数。
答案 1 :(得分:2)
gets.chomp
会返回String
,因此i
永远不会等于5
,Fixnum
。您需要将其转换为整数:
i = gets.chomp.to_i