Class: CloneTreeNodeVisitor
- Inherits:
-
TreeNodeVisitor
- Object
- TreeNodeVisitor
- CloneTreeNodeVisitor
- Defined in:
- lib/tree_visitor/tree_node_visitor.rb
Overview
Esempio Clona un TreeNode
Instance Attribute Summary collapse
-
#clonedRoot ⇒ Object
readonly
Returns the value of attribute clonedRoot.
Instance Method Summary collapse
- #enter_treeNode(treeNode) ⇒ Object
- #exit_treeNode(treeNode) ⇒ Object
-
#initialize ⇒ CloneTreeNodeVisitor
constructor
A new instance of CloneTreeNodeVisitor.
- #visit_leafNode(leafNode) ⇒ Object
Constructor Details
#initialize ⇒ CloneTreeNodeVisitor
Returns a new instance of CloneTreeNodeVisitor.
137 138 139 140 141 |
# File 'lib/tree_visitor/tree_node_visitor.rb', line 137 def initialize super @clonedRoot = nil @stack = [] end |
Instance Attribute Details
#clonedRoot ⇒ Object (readonly)
Returns the value of attribute clonedRoot.
135 136 137 |
# File 'lib/tree_visitor/tree_node_visitor.rb', line 135 def clonedRoot @clonedRoot end |
Instance Method Details
#enter_treeNode(treeNode) ⇒ Object
143 144 145 146 147 148 149 150 151 |
# File 'lib/tree_visitor/tree_node_visitor.rb', line 143 def enter_treeNode( treeNode ) if @stack.empty? clonedTreeNode = TreeNode.new( treeNode.name ) @clonedRoot = clonedTreeNode else clonedTreeNode = TreeNode.new( treeNode.name, @stack.last ) end @stack.push( clonedTreeNode ) end |
#exit_treeNode(treeNode) ⇒ Object
153 154 155 |
# File 'lib/tree_visitor/tree_node_visitor.rb', line 153 def exit_treeNode( treeNode ) @stack.pop end |