3

Ruby では、次のように文字列を変換する必要があります。

"keyA,valueA,keyB,valueB"

このようなハッシュに:

{"keyA"=>"valueA", "keyB"=>"valueB"}

「ルビ文字列からハッシュへの変換」で説明されているように、これにはeach_sliceメソッドと、おそらく enumerableが含まれると確信しています。inject()

しかし、これらのコンポーネントをまとめる方法がわかりません。

4

2 に答える 2

12
s = 'keyA,valueA,keyB,valueB'

Hash[*s.split(',')]
#=> { 'keyA' => 'valueA', 'keyB' => 'valueB' }
于 2012-08-22T21:34:22.007 に答える
1

これを試して:

s = "keyA,valueA,keyB,valueB"
Hash[*s.split(",").each_slice(2).collect{ |k,v| [k,v] }.flatten]
于 2012-08-22T21:02:21.540 に答える