我这样做错了吗?我正在尝试编写一个简单的程序,要求用户输入一个数字,直到他们想要退出,但是当我运行程序时,它会给我一个参数错误,指出范围的错误值。我该怎么做才能解决这个问题?
var = true
while var == true
print "Enter a number ('Q/q to quit'): "
input = gets.chomp
if input == 'Q' || input == 'q'
var = false
puts "Goodbye!"
else
product = 1
for i in 1..input
product = product * i
end
end
end
puts "#{input}! is #{product}"
答案 0 :(得分:0)
问题是"输入"是一个字符串。您无法在您的范围内使用它。您需要将其转换为int。
改变这个:
for i in 1..input.to_i