我有一个数组
商店物品
属于城市对象
- 属于地府对象
我想得到一个按县列出的哈希,然后是城市,然后是频率......
我想出了这个,但感觉真的不像红宝石..
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
}
必须有一种干燥的方法来做到这一点!