0
輸入散列可以有陣列和散列(AoA,AoH,HoH和HoA)的任意組合的嵌套。將散列元素平鋪爲具有_>
的正確密鑰和分隔符是沒有問題的。迭代散列的數組元素時展平散列。紅寶石
但是,當數組出現在圖片中時,我遇到了麻煩,我需要抓住每個元素並將其粘貼到正確的鍵上,同時繼續構建輸出。最終的輸出應該是散列的一維數組,唯一的區別是每個數組元素。
例如:
如果輸入散列: {:x => 333, :y => 13, :z => [1,2,{:zz => [40,50]},[10,20]], :a => {:o => "1", :p => "2"}}
最終的結果應該是:
`[{:x => 333, :y => 13, :z => 1, :z_>zz => 40, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 1, :z_>zz => 50, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 2, :z_>zz => 40, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 2, :z_>zz => 50, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 10, :z_>zz => 40, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 10, :z_>zz => 50, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 20, :z_>zz => 40, :a_>o => 1, a_>p => 2},
{:x => 333, :y => 13, :z => 20, :z_>zz => 50, :a_>o => 1, a_>p => 2}]`
我已經使用遞歸哈希小平坦化了輸入哈希恩。如果該值是一個數組,則通過將{theKey => theKeysValue}推入數組以供稍後訪問進行循環。 – discodude