gpt4 book ai didi

ruby - 关于迭代数组以在哈希中生成频率的问题

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:00 25 4
gpt4 key购买 nike

我有一个包含一些不同数据(字符串格式)的数组,我想计算每个值的频率并将其存储在散列/字典中,但我在尝试这样做时遇到了错误。

我想做这样的事情:

    words = ["foo", "var", "spam", "egg", "foo", "foo", "egg"]
frequency = {}
words.each{|word| frequency[word] += 1}

得到如下输出:

   puts(frequency)   #{"foo" => 3, "var" => 1, "spam" => 1, "egg" => 2}

但我遇到了以下问题:

    prueba.rb:3:in `block in <main>': undefined method `+' for nil:NilClass (NoMethodError)

是否有另一种方法可以达到同样的效果?

最佳答案

如果您在散列中查询不存在的 key ,您将得到 nil,这就是问题所在。如果键不存在,让我们将 0 作为默认值

frequency = Hash.new(0)

关于ruby - 关于迭代数组以在哈希中生成频率的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56167505/

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