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
ご返信ありがとうございます。私はPythonで 'def __init __(self、** kwargs)'と似たものを見たことがあります。私の個人的な意見では、これにより初期化子を読みにくくすることができます。 'options'や' ** kwargs'では、初期化子に渡すものについて何も教えてくれないので、オブジェクトを適切に初期化する方法を理解するために実装ロジックを掘り下げなければなりません。私は今、 'person1'の例に固執すると思います:) – Ben