1class PreOrderTraversal 2 def traverse(node, visitor) 3 visitor.visit(node) 4 node.left.accept(visitor, self) if node.left 5 node.right.accept(visitor, self) if node.right 6 end 7end