Ruby阶乘循环

时间:2017-07-21 06:02:13

标签: ruby

我这样做错了吗?我正在尝试编写一个简单的程序,要求用户输入一个数字,直到他们想要退出,但是当我运行程序时,它会给我一个参数错误,指出范围的错误值。我该怎么做才能解决这个问题?

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}"

1 个答案:

答案 0 :(得分:0)

问题是"输入"是一个字符串。您无法在您的范围内使用它。您需要将其转换为int。

改变这个:

for i in 1..input.to_i