我正在研究一个项目,我需要将报纸文章与它们在印刷品上出现的页码相关联。帮助重新分解Ruby散列切片和切块
我的输入数据只是一堆成对的文章标题和页码。我想出了下面的代码创建一个新的Hash
,其中键是页码和值是文章标题的数组:
a = ["A1", "title 1"]
b = ["A1", "title 2"]
c = ["A2", "title 3"]
hash = {}
articles = [a,b,c]
articles.each do |a|
if hash.has_key?(a[0])
hash[a[0]] << a[1]
else
hash.merge!({a[0] => [a[1]]})
end
end
代码工作不够好,但我不知道是否有更干净的方式做到这一点。我检查了Ruby文档并找不到任何内置方法,但我希望SO对此有所贡献。