我一直在阅读 Ruby 文档,并查看有关该问题的其他一些帖子,但我仍然对此感到疑惑:
#counts each number in an array once
array = [1,1,2,5,3,2,5,3,3,3]
numbers = {}
array.each { |num| numbers[num] += 1 }
=> in `block in mode': undefined method `+' for nil:NilClass (NoMethodError)
在Hash 文档中, a 的默认值Hash
是nil
,这就是我假设出现此错误的原因。有没有更好的方法将每个键/(值 += 1)插入数字数组?