On Wed, May 2, 2012 at 5:27 AM, Craig Law <[email protected]> wrote: > Thanks for the reply > > I gave a fairly basic example so that I could explain my needs. Perhaps > a little too basic. I'm also very new to Ruby. > > Going forward the array of arrays may hold information such as ... > > [1, 1, "X", "20120502"] > > ... so that I have a grid that will display an "X" at x,y coordinates > 1,1 and also hold some metadata such as "20120502" which in this case > would be a date. > > Ultimately I will be creating an HTML grid of variable size that will > house an "X" or "O". The date would be metadata that I'm hoping to > display when you hover over a box when viewing the grid/graph in a > browser. > > If I can produce a hash of {[x, y] => xxxxx } which holds the values "X" > and "20120501" that would be OK with me. > > Would the code for such a hash be something like this ... > > {[1, 1] => ["X", "20120501"]} > {[1, 2] => ["O", "20120502"]} > > ... and if so how would I overwrite one hash with the other?
Frankly, I'd take a different approach: from what we have seen you have a grid, coordinates and node data. I'd rather model these as separate classes, e.g. https://gist.github.com/2947179 Now you can do g = Grid.new 10, 500 g[Coord(1,3)] = NodeData.new "foo" g.replace( Coord(1,2) => NodeData.new("hello"), Coord(2,34) => nil, ) etc. Then, if you find you need to change the internal representation to be more efficient your algorithms are not affected since they just use the same API of Grid. Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/ -- You received this message because you are subscribed to the Google Groups ruby-talk-google group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at https://groups.google.com/d/forum/ruby-talk-google?hl=en
