У меня есть список кортежей, элементы которых я хочу суммировать:
val t = Seq(1,2,3,4,5).map(el => (el,1))
t: Seq[(Int, Int)] = List((1,1), (2,1), (3,1), (4,1), (5,1))
t.foldLeft(0,0){ case ((a,b),(c,d)) => (a+b,c+d)}
res3: (Int, Int) = (14,6)
Ответ (14,6)
действительно неожиданный (ожидаемый был (15,5)
).
Что меня еще больше озадачивает:
t.foldLeft(0,1){ case ((a,b),(c,d)) => (a+b,c+d)}
res3: (Int, Int) = (15,6)
Мои вопросы: что соответствуют параметрам в foldLeft(x,y)
(они являются параметрами инициации для 1-го и 2-го сгибов ???) и как получить желаемые суммы за 1-й?и 2-й элемент кортежа.