我想获得一个输出,以便为年龄输入增加一年。
这是我的代码:
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)
我似乎无法获得正确的输出。
答案 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
它对我来说很好,并且比您做的更小,更快。