From: Chuck Brotman Date: 2010-06-21T03:20:29+09:00 Subject: General Confusion I'm confused! I may have bitten off more than I can chew! This question may be more about OOP ion general than Ruby, but since I'm implementing in Ruby (trying to, anyway) I thought I'd start here. If I should be posting elsewhere please let me know. Here's the problem: I'm trying to write my own graph theory library. I'm aware of Adjacency matrices and the like, but I want to do this as OO as possible, using objects of class node and edge to implement. Each node has a name and an array of adjacent nodes. How can I add a reference to a node which is adjacent,if I haven't created that node yet? Or, do I have to create all the nodes first (without adjacencies and then back fill them?) Or?? I feel like this should be doable, but I'm having trouble "wrapping my head around it!". Here's an early cut at my class def for Node: TYhanks for any help you are able to provide... Chuck #Node ----------------------------------. class Node attr_accessor :name, :nextnode, :adjacencies def initialize(name, adjacencies) @name = name @adj = adjacencies self.report "***new node #{@name}, created= [{#{@name} | #{@adj.inspect}]\n" end #initialize def to_s return "001 [#{@name.inspect}),#{@adj.insert ","}]" end # to_s end #node class----------- #Edge -------------------- class Edge attr_accessor :name, :N1, :N2 def initialize (name,n1, n2) @name = name @n1 = n1 @n2 = n2 print ("\n200:new edge, [#{@name}] created= [#{@n1}-#{@n2}]") end # initialize end # edge class ------------------ -- Posted via http://www.ruby-forum.com/.