Hash Sorting


#1

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


#2

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 B. wrote:

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


#3

Joshua A. 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?


#4

Sunny B. wrote:

Joshua A. 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 =
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?).


#5

On Dec 27, 4:18 pm, Jeremy Weiskotten <rails-mailing-l…@andreas-
s.net> wrote:

hash = {}
key =
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


#6

Frederick C. wrote:

On Dec 27, 4:18�pm, Jeremy Weiskotten <rails-mailing-l…@andreas-
s.net> wrote:

hash = {}
key =
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

Good to know, although I’m not even on 2.2 yet due to plugin
incompatibilities. Thanks!


#7

On Sat, Dec 27, 2008 at 8:28 AM, Jeremy Weiskotten
removed_email_address@domain.invalid wrote:

lookup by key. If you only plan to use the hash for iteration, that’s

OrderedHash is a lot speedier in 2.3

Fred

Good to know, although I’m not even on 2.2 yet due to plugin
incompatibilities. Thanks!

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


Robby R.
Chief Evangelist, Partner

PLANET ARGON, LLC
design // development // hosting


http://www.robbyonrails.com/
aim: planetargon

+1 503 445 2457
+1 877 55 ARGON [toll free]
+1 815 642 4068 [fax]