我理解在Ruby中,attr_accessor
键只是创建getter/setter
方法。
例如,
attr_accessor :data
def data=(value)
@data = value
end
def data
@data
end
所以,如果是这种情况,对于Node
课程,我为什么需要创建initialize
方法?
例如:
def initialize(data, next_node)
@data = data;
@next_node = next_node;
我不能写att_accessor :data, next_node
吗?
答案 0 :(得分:0)
使用initialize
方法,您可以写:
node = Node.new('foo', node)
没有(只有attr_accessor
)你需要写:
node = Node.new
node.data = 'foo'
node.next_node = node
回答你的问题:不需要initialize
方法,但使用起来会更方便。