Ruby 方法与表达式全解析
1. 方法定义
在 Ruby 里,方法的定义借助 def
关键字来完成。方法名应当以小写字母开头,若使用大写字母开头,虽不会马上报错,但 Ruby 会先把它当作常量,而非方法调用,这可能致使调用解析出错。
方法名有一些特殊约定:
- 查询类方法常以 ?
结尾,像 instance_of?
。
- 会修改接收者的 “危险” 方法通常以 !
结尾,例如 String
类的 chop
和 chop!
,前者返回修改后的字符串,后者直接修改接收者。
- 可被赋值的方法以等号 =
结尾。
定义方法时,可能需要声明参数,参数就是括号里的局部变量名列表。括号在方法参数上是可选的,一般有参数时使用括号,无参数时省略。示例代码如下:
def my_new_method(arg1, arg2, arg3)
# 3 arguments
# Code for the method would go here
end
def my_other_new_method
# No arguments
# Code for the method would go here
end
Ruby 允许为方法参数指定默认值,当调用者未明确传递参数时就会使用默认值,通过赋值运算符来实现。示例如下: