From: Christopher Schneider Date: 2006-12-15T03:41:25+09:00 Subject: Re: Hash/2-d array help! If you're doing it incrementally, instead of all at once like demonstrated, the same end product can be done like: hash = Hash.new # LOOP hash[key] ||= Array.new hash[key] << value # END LOOP Just put the appropriate looping mechanism around those 2 lines, and define key and value (ie England=key, and Liverpool=value). -Chris On Dec 14, 2006, at 11:28 AM, Jason Roelofs wrote: > hash = { > England => [Liverpool, London, Plymouth], > France => [Rennes, Paris] > } > > Jason > > On 12/14/06, Just Maz wrote: >> >> Would anyone happen to know how would I go about creating a hash >> where I >> have more then one value equating to another? >> i.e. England => Liverpool, England => London, France =>Rennes, >> England=>Plymouth, France=>Paris. >> >> I've tried all sorts of ways to do this but I always seem to >> overwrite >> the old value of hash[england]=liverpool when I try and add London to >> england too. >> Is this even possible using a conventional hash? Or would I >> somehow have >> to use a hash of arrays or something? >> Also...Just how would I recall the values once I have them? >> In my experiments I may well have stumbled across the answer but >> can't >> retrieve them. >> >> Sorry for this question being rather vague but I don't even know the >> name of what I'm trying to do or anything about how to do it..I'd >> appreciate any help here, at the very least even just a pointer in >> the >> right direction. >> >> -- >> Posted via http://www.ruby-forum.com/. >> >>