Class: PrintTreeNodeVisitor
- Inherits:
-
TreeNodeVisitor
- Object
- TreeNodeVisitor
- PrintTreeNodeVisitor
- Defined in:
- lib/treevisitor/visitors/print_tree_node_visitor.rb
Overview
Prints TreeNode names indenting according to depth
Instance Method Summary collapse
- #enter_tree_node(tree_node) ⇒ Object
- #exit_tree_node(tree_node) ⇒ Object
-
#initialize ⇒ PrintTreeNodeVisitor
constructor
A new instance of PrintTreeNodeVisitor.
- #visit_leaf_node(leaf_node) ⇒ Object
Constructor Details
#initialize ⇒ PrintTreeNodeVisitor
Returns a new instance of PrintTreeNodeVisitor.
6 7 8 |
# File 'lib/treevisitor/visitors/print_tree_node_visitor.rb', line 6 def initialize @depth = 0 end |
Instance Method Details
#enter_tree_node(tree_node) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/treevisitor/visitors/print_tree_node_visitor.rb', line 10 def enter_tree_node( tree_node ) str = "" (0...@depth).step { str << " |-" } if @depth == 0 puts str + tree_node.name.to_s else puts str + tree_node.name.to_s end @depth += 1 end |
#exit_tree_node(tree_node) ⇒ Object
24 25 26 |
# File 'lib/treevisitor/visitors/print_tree_node_visitor.rb', line 24 def exit_tree_node( tree_node ) @depth -= 1 end |
#visit_leaf_node(leaf_node) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/treevisitor/visitors/print_tree_node_visitor.rb', line 28 def visit_leaf_node( leaf_node ) str = "" (0...@depth-1).step { str << " |-" } str << " | " puts str + leaf_node.name.to_s end |