重返Ruby之路 Day9 ---ruby学习

128 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

方法调用

以对象开头,中间隔着句点“. ”,后面接着是方法名,方法名后面是一排并列的用() 括起来的参数。不同的方法定义的参数个数和顺序也都不一样,调用方法时必须按照定义来指定参数。另外,调用方法时() 是可以省略的。

带块的方法调用

带块的方法调用的语法如下所示。

对象.方法名(参数,…) 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。