本文已参与「新人创作礼」活动,一起开启掘金创作之路。
方法调用
以对象开头,中间隔着句点“. ”,后面接着是方法名,方法名后面是一排并列的用() 括起来的参数。不同的方法定义的参数个数和顺序也都不一样,调用方法时必须按照定义来指定参数。另外,调用方法时() 是可以省略的。
带块的方法调用
带块的方法调用的语法如下所示。
对象.方法名(参数,…) do |变量1,变量2, …|
块内容
end
do~end 这部分就是所谓的块。除do ~end 这一形式外,我们也可以用{ ~} 将块改写为其他形式。
对象.方法名(参数, …) { |变量1,变量2,…|块内容}
备注: 使用do ~end 时,可以省略把参数列表括起来的() 。使用{ ~} 时,只有在没有参数的时候才可以省略() ,有一个以上的参数时就不能省略。 在块开头的 | ~| 部分中指定的变量称为块变量 。在执行块的时候,块变量由方法传到块内部。不同的方法对应的块变量的个数、值也都不一样。
给方法指定默认值
方法有多个参数时,从参数列表的右边开始依次指定默认值。例如,希望省略三个参数中的两个时,就可以指定右侧两个参数为默认值。
方法的返回值
因为可以省略,所以有时候就会感觉好像没什么机会用到return 语句,但是有些情况下会希望马上终止程序,这时return 语句就派上用场了。
比如:
def max(a,b)
if a>b
return a
end
end
p max(10,5) #=>10
如果省略return的参数,程序会返回为nil。
方法的目的是程序处理,所以Ruby允许没有返回值的方法。Ruby中有很多返回值为nil 的方法,比如print 方法就是其中一。 print 方法只输出参数的内容,返回值为nil。