Hash

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

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

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:

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

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@AgileConsultingLLC.com