Adding to Hashes


#1

Hello,

I need to add key and value pairs to a hash dynamically. I want to do
this:

array = []
array << “hello”
array << “world”

But with k v pairs of a hash. The hash is being populated from a
database and there is a potenitally unlimited (though realistically
limited to less than 20) number of differnet keys, which my program
will not know about until it talks to the database.

Can I dynamically create a hash something like this:

dbh.query(“select k, v from foo where id = #{id}”).each_hash do |kv|

   k = kv['k']
   v = kv['v']

   myhash << k,v

end

return myhash

Thanks for the help!


#2

On 2/2/07, Nick B. removed_email_address@domain.invalid wrote:

limited to less than 20) number of differnet keys, which my program
will not know about until it talks to the database.

Can I dynamically create a hash something like this:

dbh.query(“select k, v from foo where id = #{id}”).each_hash do |kv|

   k = kv['k']
   v = kv['v']

   myhash << k,v

Why not just
myhash[k] = v


#3

Figured it out - its simple as always:

yourhash[‘key’] = value

adds to the hash (just like the book says)