Ruby 添加到哈希表中的值

Ruby 添加到哈希表中的值,ruby,hash,Ruby,Hash,我试图将散列中的值增加1。我的逻辑似乎是正确的,但由于某种原因,哈希中的值没有增加1 puts item_sold temp = sales_hash.values[item_sold] + 1 sales_hash.values[item_sold] = temp puts sales_hash.values[item_sold] sales\u hash是一个散列,其中键是1000-2000之间的数字,每个键的值从0开始已售出的商品是一个介于1和15之间的随机数。散列中有1

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

  puts item_sold
  temp = sales_hash.values[item_sold] + 1
  sales_hash.values[item_sold] = temp
  puts sales_hash.values[item_sold]
sales\u hash
是一个散列,其中键是1000-2000之间的数字,每个键的值从0开始<代码>已售出的商品是一个介于1和15之间的随机数。散列中有15项。当
temp
打印出来时,它是一个值。但是,当我打印出
sales\u hash.values[item\u saled]
的值时,它会打印0。什么是
sales\u hash.values[item\u saled]
不递增?

返回所有hash值的数组。您想添加一个值,您可以这样做:

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

您可以使用
hash[key]
语法访问散列值。

如果
item\u selled
是散列,则不能将其作为数组索引。