如何将给定的输入再加上一年?

时间:2019-02-27 12:32:24

标签: ruby

我想获得一个输出,以便为年龄输入增加一年。

这是我的代码:

print "Age: "
age = gets.chomp.to_i

def age_next_year(int)
  age.each do |int|
  int += 1
end

puts "Next year I’ll be " + age_next_year(age)

我似乎无法获得正确的输出。

2 个答案:

答案 0 :(得分:1)

您无需调用each,因为它是用于迭代 array 的,并且您有一个整数。另外,您无需将值重新分配回int局部变量,只需从方法中将其返回即可:

def age_next_year(int)
  int + 1
end

另一个问题是您正在尝试+方法将age_next_year方法返回(整数)到字符串。在那里需要显式转换:

puts "Next year I’ll be " + age_next_year(age).to_s

答案 1 :(得分:0)

我只是问,但是为什么不这样做呢?

print "Age: "
age = gets.chomp.to_i + 1
printf "Next year I'll be %d\n", age
# OR
puts "Next year I'll be " + age.to_s

它对我来说很好,并且比您做的更小,更快。