在Ruby中,類的初始化(initialize)方法是一個特殊的方法,當創建類的新實例時,它會自動調用。初始化方法主要用于設置實例變量和完成其他必要的設置。以下是初始化方法的一些常見用途:
@
符號開頭,它們是類的每個實例所獨有的。class MyClass
def initialize(name, age)
@name = name
@age = age
end
end
# 創建一個新的MyClass實例
person = MyClass.new("Alice", 30)
# 訪問實例變量
puts person.name # 輸出 "Alice"
puts person.age # 輸出 30
class MyClass
def initialize(name, age)
raise ArgumentError, "Name cannot be empty" if name.nil? || name.strip.empty?
raise ArgumentError, "Age must be a positive number" if age <= 0
@name = name
@age = age
end
end
# 創建一個有效的MyClass實例
person = MyClass.new("Bob", 25)
# 嘗試創建一個無效的MyClass實例
begin
invalid_person = MyClass.new("", -5)
rescue ArgumentError => e
puts e.message # 輸出 "Name cannot be empty"
end
class MyClass
def initialize(filename)
@filename = filename
@file = File.open(filename, "r")
end
def close
@file.close if @file
end
end
# 創建一個MyClass實例并讀取文件內容
file = MyClass.new("example.txt")
content = file.read
puts content
# 關閉文件
file.close
總之,類的初始化方法是一個重要的功能,它允許你在創建類的實例時執行一些必要的設置和準備工作。