Сложите список промежуточных результатов вместо окончательного одного в Котлине - PullRequest
0 голосов
/ 28 мая 2018

Я ищу функцию, похожую на fold, которая не возвращает окончательный результат, но все промежуточные результаты.Например, с помощью fold я мог бы реализовать следующий пример:

val res = listOf(1,2,3).fold(0, { acc, it -> f(acc, it) })
// res = 6

Но я ищу что-то вроде ...

val res = listOf(1,2,3).foo(0, { acc, it -> f(acc, it) })
// res = listOf(1,3,6)

..., которое затем возвращает промежуточные результатывместо окончательной суммы.

Есть ли что-то вроде этой foo функции, уже включенной в stdlib Kotlins, или какое общее имя для этого foo в стиле функционального программирования?

1 Ответ

0 голосов
/ 28 мая 2018

Не уверен, существует ли это в kotlin, но это называется scan.Вы можете увидеть этот ответ для более подробной информации (не kotlin, но, поскольку Scala на него повлиял много , возможно, вы даже не увидите различий в синтаксисе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...