Skip to content

Instantly share code, notes, and snippets.

@ecleel
Created April 13, 2011 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ecleel/918638 to your computer and use it in GitHub Desktop.
Save ecleel/918638 to your computer and use it in GitHub Desktop.
tree example
class Node
attr_accessor :dad, :name
def initialize(name='', dad=nil)
@name, @dad = name, dad
end
def inspect
"My dad is #{@dad} "
end
def init?
@dad.nil?
end
def to_s
"Node: #{@name}"
end
def next
end
end
class TreeNode < Node
attr_accessor :left, :right
def initialize(name='', dad=nil left=nil, right=nil)
super name, dad
@left, @right, @dad = left, right
end
def inspect
super + "left #{@left} - right #{@right}"
end
end
init = Node.new name="Dad"
fl = Node.new name="Saad"
fr = Node.new name="Saleh"
init.left = fl
init.right = fr
fl.dad = init
fr.dad = init
p init
p fl
p fr
p init.init?
p fl.init?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment