Я понимаю, что в Ruby ключ attr_accessor
просто создает методы getter/setter
. Например,Attr_accessor в Node Class
attr_accessor :data
def data=(value)
@data = value
end
def data
@data
end
Так что, если бы это было так, для Node
класса, почему бы мне нужно создать initialize
метод?
Ex:
def initialize(data, next_node)
@data = data;
@next_node = next_node;
Не могу я просто пишу att_accessor :data, next_node
?
Это, скорее всего, приведет к самоуверенному ответу - конструкторы используются для определения интерфейса для вашего класса, то есть данных, которые необходимо создать. Только вы можете действительно определить, что должен сделать этот конструктор, с кем и с чем он работает. – Anthony