我on Rails項目工作如何遞增散列/對象的值沒有確定前他們
我的產品以其獨特的代碼的哈希作爲密鑰
products = [
{"dt": "2016-01-01",
"quantity": 122,
"amount": 123000
},
{"dt": "2016-01-02",
"quantity": 97,
"amount": 97800
}
{"dt": "2016-01-03",
"quantity": 142,
"amount": 163000
}
]
我的目標是創建這3天報告的數量之和。我遍歷該對象。我想爲每個迭代中增加的名爲「total_quantity」的數組中的每個對象添加新屬性。
products.each do |row|
rowqty += row['quantity']
rowamount += row['amount']
row['total_quantity'] = rowqty
row['total_amount'] = rowamount
end
你可以看到,我定義了兩個額外的變量「rowqty」和「rowamount」用它們來創建每個對象的新屬性之前舉行更新的數據。
,但我得到這個錯誤
undefined method `+' for nil:NilClass
然而,迭代之前,如果我預先定義的變量,它似乎工作。像這樣
rowqty = 0
rowamount = 0
products.each do |row|
rowqty += row['quantity']
rowamount += row['amount']
row['total_quantity'] = rowqty
row['total_amount'] = rowamount
end
我知道它需要變量存在才能對它做些什麼。但是我不得不承認,當數據變得複雜的時候,我會遇到這樣的問題。
因此,無論如何應用數學運算,如增加,減少或任何與不在範圍內退出的變量?
在PHP中,它似乎創建了新的變量。這包括數組和對象。但我不能做在Rails的
只需在您的標籤選擇上挑選一個即使您可能將其作爲Rails項目的一部分,這完全是一個Ruby問題。 – dwenzel