Hello all any one has idea how to add new column to existing hash array ? I have one hash instance like @restaurant using each with index i m looping it and want to add new key and value to each row how can i do that ? please help me thanks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 19 Feb 2009, at 10:54, Cyrus Dev wrote:> > Hello all > > any one has idea how to add new column to existing hash array ? >by hash array do you mean an array of hashes ?> I have one hash instance like > @restaurant > > using each with index i m looping it and want to add new key and value > to each row >unless i''m missing part of the question, you just do it. array_of_hashes.each_with_index do |some_hash, i| some_hash[:foo] = :bar end If you want to change the array you are iterating over, that isn''t supported. Fred> how can i do that ? > > please help me > > thanks > -- > Posted via http://www.ruby-forum.com/. > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi, thanks but I have instance like this @restaurant= Restaurant.find(:all) now for each i have to add one more column @restaurant.each_with_index do |c,index| @restaurant[index][''diffinmiles''] =22 end but this is not work so that i have to not change in view file and i can direct access like db values ? any idea ? Frederick Cheung wrote:> On 19 Feb 2009, at 10:54, Cyrus Dev wrote: > >> >> Hello all >> >> any one has idea how to add new column to existing hash array ? >> > by hash array do you mean an array of hashes ? >> I have one hash instance like >> @restaurant >> >> using each with index i m looping it and want to add new key and value >> to each row >> > unless i''m missing part of the question, you just do it. > > array_of_hashes.each_with_index do |some_hash, i| > some_hash[:foo] = :bar > end > > If you want to change the array you are iterating over, that isn''t > supported. > > Fred-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Feb 19, 2009, at 6:20 AM, Cyrus Dev wrote:> Hi, > thanks > > but I have instance like this > > @restaurant= Restaurant.find(:all,:select => ''restaurants.*, 22 AS diffinmiles''> ) > > now for each i have to add one more column > > @restaurant.each_with_index do |c,index| > > @restaurant[index][''diffinmiles''] =22 > > end > > but this is not work > > so that i have to not change in view file and i can direct access like > db values ? > > any idea ?Except that is not really what you meant, I''m sure. If you need some other method to be available on the Restaurant model, just add it in! class Restaurant def diffinmiles(my_location) # do some calculations with other attributes and the passed parameters end end> Frederick Cheung wrote: >> On 19 Feb 2009, at 10:54, Cyrus Dev wrote: >>> Hello all >>> >>> any one has idea how to add new column to existing hash array ? >> >> by hash array do you mean an array of hashes ? >> >>> I have one hash instance like >>> @restaurant >>> >>> using each with index i m looping it and want to add new key and >>> value >>> to each row >>> >> unless i''m missing part of the question, you just do it. >> >> array_of_hashes.each_with_index do |some_hash, i| >> some_hash[:foo] = :bar >> end >> >> If you want to change the array you are iterating over, that isn''t >> supported. >> >> FredYou''re not actually changing the array here as Fred suggests, you''re just modifying each member which is perfectly fine (even though, as I said, not what I think you really want to do here). -Rob Rob Biedenharn http://agileconsultingllc.com Rob-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks Rob But actually what I want to do here I have hash @restaurant now for each row I want to add diffinmiles and then filter some of rows from main hash with this new column add and then sort this new array based on diffin miles thanks Rob Biedenharn wrote:> On Feb 19, 2009, at 6:20 AM, Cyrus Dev wrote: >> Hi, >> thanks >> >> but I have instance like this >> >> @restaurant= Restaurant.find(:all, > :select => ''restaurants.*, 22 AS diffinmiles'' >> but this is not work >> >> so that i have to not change in view file and i can direct access like >> db values ? >> >> any idea ? > > Except that is not really what you meant, I''m sure. If you need some > other method to be available on the Restaurant model, just add it in! > > class Restaurant > def diffinmiles(my_location) > # do some calculations with other attributes and the passed > parameters > end > end > >>>> >>> If you want to change the array you are iterating over, that isn''t >>> supported. >>> >>> Fred > > You''re not actually changing the array here as Fred suggests, you''re > just modifying each member which is perfectly fine (even though, as I > said, not what I think you really want to do here). > > -Rob > > Rob Biedenharn http://agileconsultingllc.com > Rob-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---