2013-02-12 78 views
1

我有散列紅寶石:重複鍵*哈希值*數組哈希​​(遞歸或深降低?)

var = 
[ 
{#<InstanceFoo>=>{Date1=>Value1}}, 
{#<InstanceBar>=>{Date2=>Value2}}, 
{#<InstanceBaz>=>{Date3=>Value3}} 
] 

的數組,我想,以減少哈希:

{ 
#<InstanceFoo>=>{Date1=>Value1}, 
#<InstanceBar>=>{Date2=>Value2}, 
#<InstanceBaz>=>{Date3=>Value3} 
} 

我在過去與實現了這個:

var.reduce({}, :merge) 

我剛纔注意到一個問題,但是,實際上var看起來是這樣的:

var = 
[ 
{#<InstanceFoo>=>{Date1=>nil}}, 
{#<InstanceFoo>=>{Date2=>Value2}}, 
{#<InstanceFoo>=>{Date3=>Value3}} 
] 

而且reduce結果如下:

var = 
{ 
    #<InstanceFoo>=>{Date1=>nil} 
} 

我想回:

var = 
{ 
    #<InstanceFoo>=>{Date1=>nil, Date2=>Value2, Date3=>Value3} 
} 

我想這是一個遞歸(或深)合併嗎?有任何想法嗎?

感謝

回答

2

嘗試:

var.reduce({}, :deep_merge) 
+0

絕對完美。謝謝 – rwb 2013-02-12 12:53:59