将逗号分隔的字符串转换为ruby中的哈希值

Ste*_*e M 3 ruby

在Ruby中,我需要转换这样的字符串:

"keyA,valueA,keyB,valueB"
Run Code Online (Sandbox Code Playgroud)

像这样的哈希:

{"keyA"=>"valueA", "keyB"=>"valueB"}
Run Code Online (Sandbox Code Playgroud)

我很确定这将涉及该each_slice方法,并且可能涉及可枚举inject(),如" ruby string to hash conversion "中所述.

但我不知道如何将这些组件组合在一起.

Jör*_*tag 12

s = 'keyA,valueA,keyB,valueB'

Hash[*s.split(',')]
#=> { 'keyA' => 'valueA', 'keyB' => 'valueB' }
Run Code Online (Sandbox Code Playgroud)

  • 伟大的解决方案@Jorg.但我想了解的*operator.What这是*operator.Because我跑的代码,而无需*运算的功能,那么输出是空的哈希像{}.谢谢. (2认同)