2012-04-23 426 views
-1

我有一个问题需要解决,有一个简单的超市计划,其中所有项目都排序和存储在散列(关键:产品ID),有价值,如价格,制造商,到期等 出于某种目的,我需要根据价格对物品进行分组。
我需要创建一个包含另一个散列(keyed:Product ID)的散列(keyed:price)。红宝石散列在红宝石

代码是这样的:

new_Hash = Hash.new(Hash.new) 
items = Hash.new 
SuperMarket_hash.each { |Product_ID, info | new_Hash[info.PRICE].items[Product_ID] } 

我此代码得到错误。 (项目:NillClass没有方法错误)

+1

你有什么错误? – 2012-04-23 16:38:56

+0

['Enumerable#group_by'](http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-group_by)就是你要找的东西。就像'SuperMarket_hash.group_by {| Product_ID,info | info.PRICE}',但你的问题很难理解,所以我不能肯定地说。 – sluukkonen 2012-04-23 16:49:03

回答