私はの配列を持っています
ショップオブジェクト
都市オブジェクトに属する
- 都道府県物に属するもの
最後に、都道府県、市区町村、頻度の順にリストされたハッシュを作成したいと思います...
私はこれを思いつきましたが、それは本当にルビーらしくありません..
city_by_prefecture = shop_list.reduce({}){ |h,e|
if h[e.prefecture.name].nil?
h[e.prefecture.name] = {e.city.name => 1}
elsif h[e.prefecture.name][e.city.name].nil?
h[e.prefecture.name][e.city.name] = 1
else
h[e.prefecture.name][e.city.name] += 1
end
h
}
これを行うには、DRY-er の方法が必要です。