只是为了练习我用ruby实现了一个队列类.队列中的元素是节点,它们在另一个类中实现.这些节点保持一定的值,并且在添加到队列时还可以保存有关其后继的信息.节点类如下所示:
class Node
attr_accessor :value, :successor
def initialize(value)
@value = value
@successor = nil
end
def set_successor(successor)
@successor = successor
end
def get_successor()
@successor
end
def get_value()
@value
end
def to_s()
@value.to_s
end
end
Run Code Online (Sandbox Code Playgroud)
在创建了诸如object1 = Node.new(12)和之类的对象之后object2 = Node.new("Foo"),我可以使用该get_value方法来获取对象值,这正是该方法应该做的事情.
puts object1.get_value
==> 12
puts object2.get_value
==> Foo
Run Code Online (Sandbox Code Playgroud)
然而,当只使用puts object1或puts object2仍然是对象值时,显示12和Foo.在这里,我期待一个更加神秘的消息,告诉我这是类节点的一个对象,它就是对象.
puts object1.class
==> Node
Run Code Online (Sandbox Code Playgroud)
那么,是否有人知道一个提示,为什么显示对象值,实际上应该显示整个对象?