Hash Sorting

Hi,

My hash contain key as a combination of album date created_at and
album_id and values are some photo object.and i need to sort this hash
based on key; but i need to sort it also considering date created_at.
but if i consider a key as combination of both (date creataed and
album_id) then it is not pure date. how i solve it? any better solution

Would you mind posting an example of the hash and an example of how you
would like it sorted?

Thanks,
Josh
http://iammrjoshua.com

Sunny Bogawat wrote:

Joshua Abbott wrote:

Would you mind posting an example of the hash and an example of how you
would like it sorted?

Thanks,
Josh
http://iammrjoshua.com

say i have album id 233 and created date 12/09/2008 so my key should be
12092008_233 in this way?

Sunny Bogawat wrote:

Joshua Abbott wrote:

Would you mind posting an example of the hash and an example of how you
would like it sorted?

Thanks,
Josh
http://iammrjoshua.com

say i have album id 233 and created date 12/09/2008 so my key should be
12092008_233 in this way?

Instead of concatenating a string, just make your key an array of the
values.

hash = {}
key = [date, album_id]
hash[key] = value

However, hashes are not sorted in Ruby 1.8. Rails 2.x has an OrderedHash
that maintains the keys' nsertion order, but it's not efficient for
lookup by key. If you only plan to use the hash for iteration, that's
probably OK (but then why use a hash?).

hash = {}
key = [date, album_id]
hash[key] = value

However, hashes are not sorted in Ruby 1.8. Rails 2.x has an OrderedHash
that maintains the keys' nsertion order, but it's not efficient for
lookup by key. If you only plan to use the hash for iteration, that's

OrderedHash is a lot speedier in 2.3

Fred

Frederick Cheung wrote:

Jeremy,

I apologize if this was already considered, but you *can* sort a hash
by a key/value, but it's not inherently sorted for you.

* http://www.oreillynet.com/ruby/blog/2005/12/sorting_an_array_of_hashes_wit_2.html

Good luck!

Cheers,
Robby