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