わたなべです.

西田明良 <a-nisida / post.co.jp> writes:

:  [{"c"=>"7", "a"=>"9", "b"=>"8"}, {"c"=>"7", "a"=>"9", "b"=>"8"}]
:
:となってしまうのですが、いったい どこが、いけないのでしょうか?

TRY!PC の P75 から引用.
「複数の変数が同一のオブジェクトを指すことがある」

hash がひとつしかないからですね. clear じゃなくて new しないと.
ってだけじゃあれなんで scan を使った例を.

data=["a=0;b=2;c=3","a=9;b=8;c=7"]
array=[]

data.each do |x|
  hash = {}
  x.scan(/([^=]*)=([^;]*);?/) do
    hash[$1] =  $2
  end
  array << hash
end
p array

1.1b0 になれば
  x.scan(/(.*?)=(.*?);?/) do
と書ける(はず).

-- 
わたなべひろふみ