新手请教一个简单的Ruby程序
璀璨夜空 2015-03-16 08:22:06 class Node
attr_reader :data, :left, :right
attr_writer :data, :left, :right
def initialize(data, left = nil, right = nil)
@data, @left, @right = data, left, right
end
def to_s
"#{@data}, #{@left}, #{@right}"
end
def printPreorder
puts self
@left.printPreorder if @left
@right.printPreorder if @right
end
def printPostorder
@left.printPostorder if @left
@right.printPostorder if @right
puts self
end
def printInOrder
@left.printInOrder if @left
puts self
@right.printInOrder if @right
end
end
n = Node.new(0)
n1 = Node.new(1, n)
n.right = n1
n.printInOrder
请问这么简单的Ruby 遍历树程序为什么运行会栈溢出?