У меня есть следующие данные:
input = [
["account1",10,"Dr"],
["account1",20,"Dr"],
["account2",15,"Cr"],
["account1",25,"Cr"],
["account2",10,"Dr"],
["account1",10,"Cr"]
]
Я пытаюсь получить суммы по счету и типу транзакции, т.е. Dr
или Cr
. Мне нужен вывод, как показано ниже:
output = {
["account1","Dr"] => 30,
["account1","Cr"] => 35,
["account2","Dr"] => 10,
["account2","Cr"] => 15
}
Я могу суммировать сумму, основываясь только на счете, используя:
input.each_with_object(Hash.new(0)) {|(f,g), h| h[f] += g}
# => {"account1"=>65, "account2"=>25}