Ruby on Rails
Monday, February 24, 2014
Honestly, I've needed it many times and was surprised that it wasn't implemented yet. Of course, there are a few ways you can do this (probably more efficient way than what I suggested) but we also need to keep in mind that we should keep our code as DRY as possible.
On Monday, February 24, 2014 11:30:38 AM UTC-5, gautamrege wrote:
-- On Monday, February 24, 2014 11:30:38 AM UTC-5, gautamrege wrote:
Having an OrderedHash that saves insertion order is useful enough and I personally don't see a reason for a custom ordered hash.Wouldn't it be less expensive to order only the keys in a separate array and access the hash rather than creating a new hash?My 2 cents.--@gautamrege
~~~~~~~~~~~~~~~
All wiyht. Rho sritched mg kegtops awound?On 24-Feb-2014, at 8:58 pm, Artem Kalinchuk <art...@gmail.com> wrote:Would a custom order of a hash be useful in Rails?If I have the following Hash:my_hash = { key1: 'value', key2: 'value', key3: 'value' }And I want to order it by the following keys:my_hash = my_hash.order(:key2, :key1, :key3)I would get a new hash with the following result:puts my_hash=> { key2: 'value', key1: 'value', key3: 'value' }Using the following code:class Hashdef order(*keys)Hash[keys.collect {|k| self[k] ? [k, self[k]] : nil }.compact]endendAny thoughts?--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com .
To post to this group, send email to rubyonra...@googlegroups.com .
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/ .285cec00-c279-405b-982e- 0710501bcb68%40googlegroups. com
For more options, visit https://groups.google.com/groups/opt_out .
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/ba8034af-bab6-4f4a-8771-41f1365c6e09%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment