添加到哈希表中的值

我试图将哈希值增加一。 我的逻辑似乎是正确的,但由于某种原因,哈希值中的值不会增加1。

puts item_sold temp = sales_hash.values[item_sold] + 1 sales_hash.values[item_sold] = temp puts sales_hash.values[item_sold] 

sales_hash是一个散列,其中键是1000-2000之间的数字,每个键的值从0开始item_sold是1到15之间的随机数。散列中有15个项目。 当temp打印出来时,它的值为1。 但是当我打印出sales_hash.values[item_sold]的值时,它会打印0.什么是sales_hash.values[item_sold]没有递增?

Hash#values返回所有散列值的数组。 您想要添加一个值,您可以这样做:

 item_sold => {0=>0, 1=>0, 2=>0} item_sold[0] += 1 => 1 item_sold => {0=>1, 1=>0, 2=>0} 

您可以使用hash[key]语法访问哈希值。