初始化Person
對象的習慣用法是什麼?我個人更喜歡person2
,但我是Ruby的新手。初始化Ruby類的習慣方式
class Person
attr_reader :first, :middle, :last, :phone_number
def initialize(first, middle, last, phone_number)
@first = first
@middle = middle
@last = last
@phone_number = phone_number
end
end
if caller.length == 0
person1 = Person.new("John", "T", "Smith", "555-5555")
person2 = Person.new(
first= "John",
middle= "T",
last= "Smith",
phone_number="555-5555",
)
end
感謝您的回覆。我在'def __init __(self,** kwargs)'中看到了類似Python的東西。我個人認爲,這使得初始化程序非常難以閱讀。 'options'或'** kwargs'沒有告訴我傳遞給初始值設定項的任何信息,所以我必須深入瞭解實現邏輯以瞭解如何正確初始化對象。我想現在我會堅持用'person1'的例子:) – Ben