为什么最后一行打印两次?
问题描述:
当我运行这种方法时,出生年份的最后一行被打印两次。为什么最后一行打印两次?
def birth_year
p "Give me a name, any name!"
name = gets.chomp.capitalize
p "Now, how old is #{name}?"
age = gets.chomp.to_i
p "#{name} was born in #{2015 - age}!"
end
我的语法有问题吗?我可能做错了什么?
答
运行时没有错误的代码意味着您的语法没有任何问题。然而,在to_i
之前调用chomp
是多余的,这是一种不好的做法。
也许你在irb中调用这个方法。最后一行的第一次打印是代码中最后一个p
的副作用。第二个是由irb打印的代码的返回值。
你打电话给你的方法怎么样?我无法重现您的问题。 –