在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