在Ruby中,我需要转换这样的字符串:
"keyA,valueA,keyB,valueB"
成这样的哈希:
{"keyA"=>"valueA", "keyB"=>"valueB"}
我很确定这会涉及each_slice
方法以及可能的inject()
,如“ruby string to hash conversion”中所述。
但我不知道如何将这些组件组合在一起。
答案 0 :(得分:12)
s = 'keyA,valueA,keyB,valueB'
Hash[*s.split(',')]
#=> { 'keyA' => 'valueA', 'keyB' => 'valueB' }
答案 1 :(得分:1)
试试这个:
s = "keyA,valueA,keyB,valueB"
Hash[*s.split(",").each_slice(2).collect{ |k,v| [k,v] }.flatten]