hash = { "d" => [11, 22], "f" => [33, 44, 55] }
是否有一个衬垫来获得如下字符串:
d:11,d:22,f:33,f:44,f:55
谢谢!
太好了,谢谢你的提示。为什么此代码不起作用,唯一的区别是我将vs.map
替换为vs.each
:
hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",")
返回"11,22,33,44,55"
答案 0 :(得分:3)
使用对map
的两个嵌套调用来获取“key:value”字符串数组的数组,然后使用join
将其转换为逗号分隔的字符串:
hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",")
答案 1 :(得分:0)
hash.keys.map {|k| hash[k].map {|v| "#{k}:#{v}"}}.flatten.join(",")