我有两个数组:合并两个数组到哈希
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