From: Joe Van Dyk Date: 2005-08-13T04:36:12+09:00 Subject: Re: no clue On 8/12/05, William James wrote: > Joe Van Dyk wrote: > >I have a string like: > > > >"some_key: blah, some_other_key: more_blah, > > yet_other_key: yet_more_blah" > > > >I want to build up a hash like > > > >{ :some_key => "blah", :some_other_key => "more_blah", > > :yet_other_key => "yet_more_blah" } > > h={} > DATA.read.split(/\s*[:,\n]\s*/).inject(false){|a,b| > if a then h[a.to_sym]=b; a=false else a=b end } > > p h > __END__ > some_key: blah, some_other_key: more_blah, yet_other_key: yet_more_blah > key1:value1 > key2: value2 > key3 : value 3 , key4 :value4 , key555555555:value55555 > > > ---- > Output: > > {:key3=>"value 3", :some_key=>"blah", :key4=>"value4", > :some_other_key=>"more_blah", :key555555555=>"value55555", > :yet_other_key=>"yet_more_blah", :key1=>"value1", > :key2=>"value2"} Why would this approach be faster?