Итак, у меня есть этот хэш, и у меня есть цикл. Когда цикл обнаруживает, что хеш уже имеет значение vendor = "нечто" - а значением цикла является "что-то" - я хочу, чтобы он просто перешел к хешу и обновил некоторые значения (цена, посещения).
Чтобы упростить это, в основном у меня есть массив хэшей, и когда я обнаружил, что у меня уже есть хэш с определенным значением поставщика, я хочу обновить хеш (изменить только цену и посещения).
Для справки, мой объект catlists выглядит примерно так - @catLists = {[1] => {: vendor,: price,: посещения,: месяц,: тип}, [2] => {: vendor ,: цена,: посещения,: месяц,: тип}, [3] => {: поставщик,: цена,: посещения,: месяц,: тип} и т. д.}
@income.each do |query|
queriedmonth = Date::MONTHNAMES[query.postdate.month]
thevendor = query.detail.capitalize
theprice = query.amount
numvisits = 1 #change this later
hit = "no"
@catLists.each do |item|
if (item.has_value?(thevendor))
hit = "yes"
//So here I want to update the hash in my catLists array.
end
end
if (hit=="no")
vendorlist << thevendor
@catList = {:vendor => thevendor, :price => theprice, :visits => numvisits, :month =>queriedmonth, :type=> "income"}
#Push onto our array
@catLists << @catList
end
end
Как бы я поступил так?
Спасибо за помощь, извините за сложность этой проблемы. Это странно, я не мог найти хороший способ сделать это.