在Ruby中,方法定义的要点如下:
def
开始,后跟方法名。方法名通常遵循驼峰命名法(CamelCase),即每个单词的首字母大写,除了第一个单词。def my_method
# 方法体
end
def my_method(arg1, arg2)
# 方法体
end
def my_method
# 不需要参数的方法
end
&
符号表示,用于接收方法的代码块。def my_method(arg1, arg2, &block)
# 方法体
end
end
关键字结束,将方法定义与方法调用分开。def my_method
# 方法体
end
my_method
def my_method(arg1, arg2)
result = arg1 + arg2
puts result
end
self
关键字引用当前对象。在实例方法中,self
表示调用该方法的对象;在类方法中,self
表示类本身。class MyClass
def my_instance_method
puts self.class
end
def my_class_method
puts self
end
end
def
关键字定义一个实例方法,使用class << self
定义一个类方法。类方法属于类本身,而不是类的实例。class MyClass
def my_instance_method
puts "This is an instance method."
end
class << self
def my_class_method
puts "This is a class method."
end
end
end
module
关键字定义一个模块(Module),模块可以包含方法和常量。模块可以被其他类或模块包含,以实现代码的复用和模块化。module MyModule
def my_method
puts "This is a method in a module."
end
end
class MyClass
include MyModule
end
my_class = MyClass.new
my_class.my_method