Я хочу объединить свой список, но мне нужно передать фиктивное начальное значение, поэтому я хочу использовать 'foldr'.
Мой текущий список:
[[(1, "Bob J", 4.0)],[(1, "Bill J", 2.5),(2,"Bill J", 2.7)]]
Я хочу объединить список на основе их имен, но мне также нужно делать арифметику, когда я комбинирую число.
Мой текущий код:
grp xs = foldr combine xs
where
combine
(x,_,y)
(totalX,_,totalY)
= (totalX+x,_,totalY+fromIntegral x *y)
Это возвращает ошибку.Я хочу, чтобы totalX и totalY изначально были равны нулю, чтобы это не мешало вычислениям.Как мне это сделать?
Редактировать: я хочу, чтобы мой вывод был в том же формате, поэтому я хочу:
[(1, "Bob J", 4.0], (3, "Билл J ", 2,6)]