我有一个哈希:
hash = {0 => ["a","b", "c"], 1 => ["x", "y", "z"]}
Run Code Online (Sandbox Code Playgroud)
我想格式化这个哈希,以便每个数组都在一个新行和没有引号的元素,用逗号分隔:
a, b, c
x, y, z
Run Code Online (Sandbox Code Playgroud)
我试过了:
array = hash.values
#=> [["a","b", "c"], ["x", "y", "z"]]
array.each.join(", ")
#=> "a, b, c, x, y, z"
Run Code Online (Sandbox Code Playgroud)
但之后还有一个额外的逗号c.如何将数组拆分为两行?
您快到了,请尝试以下操作,
hash.values.map{ |v| v.join(',') }.join("\n")
Run Code Online (Sandbox Code Playgroud)
如果您正在尝试使用CSV,请不要尝试自制,它比它看起来更棘手.例如,有时引用是必要的.
require 'csv'
puts CSV.generate { |csv|
hash.each_value { |row| csv << row }
}
# => a,b,c
# x,y,z
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |