Node类中的Attr_accessor

时间:2016-03-26 19:16:01

标签: ruby linked-list

我理解在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吗?

1 个答案:

答案 0 :(得分:0)

使用initialize方法,您可以写:

node = Node.new('foo', node)

没有(只有attr_accessor)你需要写:

node = Node.new
node.data = 'foo'
node.next_node = node

回答你的问题:不需要initialize方法,但使用起来会更方便。