| Class | AbstractNode |
| In: |
lib/abstract_node.rb
|
| Parent: | Object |
$LastChangedBy: pouillar $ $Id: /w/fey/ruby_ex/trunk/lib/abstract_node.rb 21865 2006-02-18T17:13:28.680350Z pouillar $
| data | [R] | |
| sub_nodes | [R] |
# File lib/abstract_node.rb, line 12 def initialize(data=nil, *sub_nodes) @data = data self.each_node { |sub_node| check_sub_node_type(sub_node) } end
# File lib/abstract_node.rb, line 23 def []=(index, sub_node) check_sub_node_type(sub_node) @sub_nodes[index] = sub_node end
# File lib/abstract_node.rb, line 42 def each_index(&block) @sub_nodes.each_pair { |index, sub_node| block[index] } end
# File lib/abstract_node.rb, line 36 def each_node(&block) @sub_nodes.each_pair { |index, sub_node| block[sub_node] } end
# File lib/abstract_node.rb, line 32 def each_pair(&block) @sub_nodes.each_pair { |index, sub_node| block[index, sub_node] } end
# File lib/abstract_node.rb, line 28 def merge!(sub_nodes) sub_nodes.each { |index, sub_node| self[index] = sub_node } end
# File lib/abstract_node.rb, line 61 def pre_depth_first(index=nil, &block) block[index, self] @sub_nodes.each_pair do |index, sub_node| sub_node.pre_depth_first(index, &block) end nil end