From: Henry Maddocks Date: 2012-11-30T08:04:59+09:00 Subject: Re: convert hash to array index value On 30/11/2012, at 11:58 AM, rekha meena wrote: > when we convert a hash to array.it takes one key value pair as a one > argument > and it gives the output as a key value pair..but if i give just index > number and want output according to that it shows "nil" why??????? > > If it is working as an array then it should show me some value regarding > the index number.. > Please correct me if i am wrong!!!!!! person.to_a returns a new Array, it doesn't convert person to an Array. 1.9.3p327 :001 > person = {'name'=>'jack','age'=>25,'city'=>'abc'} => {"name"=>"jack", "age"=>25, "city"=>"abc"} 1.9.3p327 :002 > person.to_a => [["name", "jack"], ["age", 25], ["city", "abc"]] 1.9.3p327 :003 > person => {"name"=>"jack", "age"=>25, "city"=>"abc"} 1.9.3p327 :004 > person = person.to_a => [["name", "jack"], ["age", 25], ["city", "abc"]] 1.9.3p327 :005 > person[1] => ["age", 25] 1.9.3p327 :006 > person['name'] TypeError: can't convert String into Integer from (irb):6:in `[]' from (irb):6 from /Users/henry/.rvm/rubies/ruby-1.9.3-p327/bin/irb:16:in `
' 1.9.3p327 :007 > Henry