推荐答案
在 Ruby 中,定义方法使用 def 关键字,后跟方法名和参数列表(可选),方法体包含在 def 和 end 之间。方法名通常以小写字母或下划线开头。
def method_name(parameter1, parameter2)
# 方法体
puts "Hello, #{parameter1} and #{parameter2}!"
end调用方法时,只需使用方法名并传递相应的参数:
method_name("Alice", "Bob")本题详细解读
方法定义的基本语法
在 Ruby 中,方法定义的基本语法如下:
def method_name(parameter1, parameter2, ...) # 方法体 end
def关键字用于开始方法的定义。method_name是方法的名称,通常使用小写字母和下划线的组合。parameter1, parameter2, ...是方法的参数列表,参数是可选的。- 方法体是方法的具体实现,包含在
def和end之间。
方法调用
定义方法后,可以通过方法名和参数列表来调用方法:
method_name("value1", "value2")默认参数
Ruby 允许为方法参数提供默认值:
def greet(name = "Guest")
puts "Hello, #{name}!"
end
greet # 输出: Hello, Guest!
greet("Alice") # 输出: Hello, Alice!可变参数
Ruby 支持可变参数,使用 * 符号:
def sum(*numbers) numbers.sum end puts sum(1, 2, 3) # 输出: 6
返回值
Ruby 方法默认返回最后一条语句的值,也可以使用 return 关键字显式返回值:
def add(a, b) return a + b end result = add(3, 4) # result 的值为 7
方法命名约定
- 方法名通常使用小写字母和下划线的组合。
- 方法名可以以
?结尾,表示返回布尔值。 - 方法名可以以
!结尾,表示该方法可能会修改对象本身或引发异常。
def valid?(input) # 检查输入是否有效 end def save! # 保存对象,可能会引发异常 end
私有方法
在类中,可以使用 private 关键字将方法定义为私有方法,私有方法只能在类内部调用:
// www.javascriptcn.com code example
class MyClass
def public_method
puts "This is a public method"
private_method
end
private
def private_method
puts "This is a private method"
end
end
obj = MyClass.new
obj.public_method # 可以调用
obj.private_method # 会引发 NoMethodError 错误