{"doc1"=> 1, "doc2"=> 1}} 现在,当我在散列中插入一个新词时,我将这个词本身与文档 ID 一起传递,例如应该给我的-6ren">
gpt4 book ai didi

ruby - 修改 ruby​​ 中的内部哈希

转载 作者:数据小太阳 更新时间:2023-10-29 08:52:16 24 4
gpt4 key购买 nike

我正在尝试执行以下操作;

我有一个散列:{"word1"=> {"doc1"=> 1, "doc2"=> 1}}

现在,当我在散列中插入一个新词时,我将这个词本身与文档 ID 一起传递,例如应该给我的 word2 和 doc2:

{"word1" => {"doc1" => 1, "doc2" =>1}, "word2" => {"doc2" => 1}}

如果我现在添加:word1 和 doc1 它应该给我:

{"word1" => {"doc1" => 2, "doc2" =>1}, "word2" => {"doc2" => 1}}

注意:doc1的值增加了1

对于 word2 和 doc2

{"word1" => {"doc1" => 2, "doc2" =>1}, "word2" => {"doc2" => 2}}

另外,如果添加一个新的 doc3 来表示 word2,它应该给我:

{"word1" => {"doc1" => 2, "doc2" =>1}, "word2" => {"doc2" => 2, "doc3" => 1}}

我该如何实现!?

最佳答案

irb(main):005:0> words = Hash.new { |h,k| h[k] = Hash.new(0) }
irb(main):006:0> words["word1"]["doc1"] += 1
irb(main):007:0> words["word1"]["doc1"] += 1
irb(main):008:0> words["word2"]["doc2"] += 1
irb(main):009:0> words
=> {"word1"=>{"doc1"=>2}, "word2"=>{"doc2"=>1}}

当然,如果你愿意,你可以把它封装成一个函数。

关于ruby - 修改 ruby​​ 中的内部哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com