我不明白这个简单的Ruby代码有什么问题

时间:2015-02-24 22:45:54

标签: ruby

我写这个程序是为了询问用户的年龄,然后告诉他们10到50年后的年龄。我不明白它的错误:(我只是一个初学者,非常感谢任何帮助。

print "How old are you?"

age = gets.chomp
i = 1

while i < 6
multiple = i * 10 + age
puts "In #{multiple} years you will be #{multiple}"
i++
end

1 个答案:

答案 0 :(得分:1)

完成你想要做的事的很多方法。确保正确缩进块 - 这将使您的代码更具可读性。请注意,to_i将您的输入从String转换为Integer。另外,尝试更具体地命名变量; multiple并不代表你的例子中的任何内容。

puts "How old are you?"

age = gets.chomp.to_i

(1..5).each do |i|
  years_passed = i * 10
  new_age = years_passed + age
  puts "In #{years_passed} years you will be #{new_age}"
end

如果你想使用while循环,你可以这样做:

puts "How old are you?"

age = gets.chomp.to_i
multiplier = 1

while multiplier <= 5
  years_passed = multiplier * 10
  new_age = years_passed + age
  puts "In #{years_passed} years you will be #{new_age}"
  multiplier += 1
end