Можно ли отправить результат операции steam в другую функцию, не сохраняя ее в другой переменной? - PullRequest
2 голосов
/ 10 апреля 2019

Например, в Kotlin / Java у меня есть список строк.Я отфильтровал список и передал его через функцию отображения.В конце я могу собрать его в другой список, а затем использовать этот список в любом месте, где я хочу, чтобы отправить его в другую функцию.Есть ли способ отправить список вывода в другую функцию, не собирая его явно?Фрагмент кода ниже:

val resultantList = stringList.filter { it.startsWith("a") }
            .map { it.substringAfter("b") }
anotherFunction(resultantList)

В приведенном выше фрагменте кода я не хочу объявлять resultantList.Вместо этого, в конце карты, я могу напрямую передать результат в anotherFunction.Что-то вроде

stringList.filter { it.startsWith("a") }
            .map { it.substringAfter("b") }.<something>{anotherFunction(it)}

1 Ответ

2 голосов
/ 10 апреля 2019

пусть - это то, что вы ищете. Вам даже не нужно вызывать .let { anotherFunction(it) }, но вы можете использовать ссылку на функцию .let(::anotherFunction)

...