ruby - 如何将散列值格式化为 Ruby 中的逗号分隔文本?

标签 ruby hash

我有一个像这样的散列:

hash = {0 => ["a","b", "c"], 1 => ["x", "y", "z"]}

我想格式化这个散列,使每个数组都在一个新行上,元素不带引号,用逗号分隔:

a, b, c
x, y, z

我试过:

array = hash.values
#=> [["a","b", "c"], ["x", "y", "z"]]

array.each.join(", ")
#=> "a, b, c, x, y, z"

但是c后面多了一个逗号。如何将数组分成两行?

最佳答案

如果您正在尝试做 CSV,请不要尝试自制它,它比看起来更棘手。例如,有时引号是必要的。

require 'csv'
puts CSV.generate { |csv|
  hash.each_value { |row| csv << row }
}
# => a,b,c
#    x,y,z

关于ruby - 如何将散列值格式化为 Ruby 中的逗号分隔文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44584213/

相关文章:

ruby-on-rails - 在 activeadmin rails 的 has_many 中添加新按钮

java - 用于存储整数的 HashMap 替代方案

mysqldump 在 rails 中选择表

java - 关于“分配分支条件”的值范围

javascript - 用于确保 JSON 对象在传输过程中未损坏的 Python-Javascript 哈希库

java - 如何改进 HashMap 数组中的搜索

arrays - 如何根据数组值从哈希数组中提取哈希值

c# - 用于模糊查找的字典哈希函数

ruby-on-rails - Ruby 中的纤维有什么意义?

ruby - 获取 json 文件然后使用 ruby​​ 操作数据