平缓此哈希的最快方法是什么:
REGIONS = {
:au => {
'Australian Capital Territory' => 'ACT',
'New South Wales' => 'NSW',
},
:ca => {
'Alberta' => 'AB',
'British Columbia' => 'BC',
}
}
以便移除:au
和:ca
键,然后我得到:
{
'Australian Capital Territory' => 'ACT',
'New South Wales' => 'NSW',
'Alberta' => 'AB',
'British Columbia' => 'BC'
}
我可以合并这样的哈希:
REGIONS[:au].merge(REGIONS[:ca])
但我不能在这里这样做,因为哈希键的名称会经常改变。
答案 0 :(得分:6)
REGIONS.values.reduce(&:merge)
答案 1 :(得分:1)
这是一种在单次迭代中完成的方法。
REGIONS.inject({}){|h, (_, e)| h.merge(e)}