2014-07-03から1日間の記事一覧

rubyでデフォルト値をもつ二重Hash

間違え: a=Hash::new() a.default=Hash::new() a["1"]["3"]=5 puts a["2"]["3"] 5が表示される.おそらく参照がおかしくなる.正解(きちんと初期化 Hash.new.each{...} は...がデフォルト処理): a=Hash.new.each{|hash,key| hash[key]=Hash.new(0)} a["1…