以下是我想要解决的问题。我将说明我是如何做到这一点的,我正在寻找一种方法不那么复杂(和更清洁:P)。
给出这样的输入:
第一次输入
1 soccer ball costs 30
1 piano costs 500
1 guitars costs 200
第二次输入
1 luxury bottle of whiskey costs 10.20
1 package of luxury caviar costs 53
我想计算每一行的最终价格和每个输入的最终价格。为了计算每一行的最终价格,我考虑到了:
我在一件事上遇到麻烦:
使用正则表达式我能够找到该项应该是该项的部分:
soccer ball
piano
guitars
bottle of whisky
package of caviar
我知道这可能是一个非常多面的问题,但我想知道什么是找到每件物品的好方法。
现在我有这样的结构:
{"soccer" => "sports", "piano" => "music", "guitars" => "music", "whisky" => "food", "caviar" => "food"}
然后我尝试将哈希的任何键与特定行中的项匹配。你能想到更好的方法,API或任何会降低这种复杂性的方法吗?
答案 0 :(得分:0)
您的层次结构倒置了。数组中的每个键都应该是一个类别,值应该是属于该类别的所有项的数组。
{"sports"=> ["soccer"], "music" => ["guitars", "piano"], "food" => ["caviar","whisky"]}