Adding to Hashes

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!

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

Why not just
   myhash[k] = v

···

On 2/2/07, Nick Black <nickblack1@gmail.com> wrote:

end

return myhash

Figured it out - its simple as always:

yourhash['key'] = value

adds to the hash (just like the book says)

···

On 2/2/07, Nick Black <nickblack1@gmail.com> wrote:

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!

--
Nick Black
--------------------------------
http://www.blacksworld.net