Я вижу код вроде:
class Person
def initialize(name)
@name = name
end
end
Я понимаю, это позволяет мне делать такие вещи, как person = Person.new
, и использовать @name
в другом месте моего класса, как и другие методы. Затем я увидел код вроде:
class Person
attr_accessor :name
end
...
person = Person.new
person.name = "David"
Я просто в недоумении с этими двумя методами mesh. Каковы особенности использования def initialize(name)
? Я полагаю, что attr_accessor
позволяет мне читать и писать. Это означает, что это два отдельных метода. Да? Хотите уточнения на def initialize
и attr_accessor
и как они мешают.