我读到每个ruby方法都有一个返回值。
但是当我在irb中输入以下内容时:
def printme(txt)
print(txt)
end
printme('xyz')
输出是:
xyz => nil
所以现在我对printme返回的值感到困惑。这个方法是返回xyz还是nil?为什么那里有冲锋枪?
答案 0 :(得分:3)
是的,Ruby中的每个方法都返回一个值。
在您的示例中,xyz
是printme('xyz')
的输出,但不是返回值。返回值为nil
。如果没有明确返回任何值,则方法返回其最后一个语句的值,在这种情况下,print
方法返回nil
。
如果您在irb中执行代码,它会在文本=>
之后显示返回值。