鉴于
def sayMoo numberOfMoos
puts 'mooooooo...'*numberOfMoos
'yellow submarine'
end
我无法理解为什么
x = sayMoo 2
puts x
给了我
mooooooo...mooooooo...
yellow submarine
和
sayMoo 2
给了我
mooooooo...mooooooo...
我希望有人可以解释一下。
答案 0 :(得分:2)
调用函数puts
moooooos。
第一个例子puts
函数的返回值,它是黄色潜水艇,除此之外。
相反,第二个只是调用函数。
答案 1 :(得分:0)
puts
是一个向控制台显示给定字符串(或对象)的方法(默认情况下)。你的方法是调用它来显示' moooo ... mooo',然后返回最后执行的表达式的结果,在这种情况下它返回字符串'黄色潜水艇'。因此当你这样做时:
x = sayMoo 2
您正在执行您的方法,该方法首先显示' moo'消息,然后分配“yallow submarine'变量x,您可以使用puts
来显示。如果您这样做:
sayMoo 2
执行方法,但方法返回的值丢失且未显示。