1.8Ruby语言的方法(Method)

1.方法定义

1.1方法声明

注意:在没有歧义的情况下,形参外围的圆括号 () 可以省略。

def 方法名(值形参名, 默认值形参名 = 默认值, 关键字形参名:, 默认关键字形参名: 默认值, *数组形参名, **哈希形参名)
  #方法体
end

1.2lambda

f = ->(形参名) { 方法体 }

2.方法作用域

注意:Ruby 语言不支持局部方法。

#全局方法
def f()
end

3.形参分类

注意:在方法体调用数组形参时,数组形参名的前面无 *

注意:在方法体调用哈希形参时,哈希形参名的前面无 **

名称描述
值形参按位置传递
默认值形参按位置传递
关键字形参按关键字传递
默认关键字形参按关键字传递
*数组形参用于收集多余的位置实参
**哈希形参用于收集多余的关键字实参

4.方法调用表达式

注意:如果接收者被省略,则接收者为 self

注意:在没有歧义的情况下,实参外围的圆括号 () 可以省略。

接收者.方法名()

实参的传递不仅支持按位置传递方式,还支持按关键字传递方式。

#按位置传递方式
方法名(实参)

#按关键字传递方式
方法名(形参名: 实参值)

5.返回值

参考 return 语句。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/37419.html

huoxiaoqiang的头像huoxiaoqiang

发表回复

登录后才能评论
分享本页
返回顶部