我有兩個數組:合併兩個數組到哈希
members = ["Matt Anderson", "Justin Biltonen", "Jordan Luff", "Jeremy London"]
instruments = ["guitar, vocals", "guitar", "bass", "drums"]
我想要做的就是將這些使得所得到的數據結構是像這樣一個Hash:
{"Matt Anderson"=>["guitar", "vocals"], "Justin Biltonen"=>"guitar", "Jordan Luff"=>"bass", "Jeremy London"=>"drums"}
請注意,「Matt Anderson」的值現在是數組而不是字符串。任何Ruby的巫師都在乎這個鏡頭?
我知道Hash[*members.zip(instruments).flatten]
將它們組合幾乎的我想了解打開「吉他,主唱」字符串爲數組第一種方式,但什麼?謝謝。
沒有zip功能嗎? – 2011-03-02 23:45:13
不需要問題示例中的'*'和'.flatten'。 'Hash [members.zip(instruments)]'給出與'Hash [* members.zip(instruments).flatten]'相同的結果' – nohat 2011-03-03 00:04:51
我會將它變成'{...「Justin Biltonen」=> [「guitar 「] ...}'因爲它會使工作更容易 - 在這種情況下,map/zip/split/Hash將提供一個很好的解決方案。 – 2011-03-03 00:20:33