let и also в Scala
… давно есть. Аналог let
— это pipe
:
someCollection
.map(pewpew)
.pipe(all => if (all.size % 2 == 0) all.drop(1) else all)
.sum
а замена also
— это tap
:
someCollection
.filter(ewew)
.map(pewpew)
.flatMap(...)
.tap(println) // debug
.reduce(...)
В статье, кстати, они сравниваются с башевскими |
и tee
, а также с |>
из F#. Так что сама идея этих функций далеко не нова, Kotlin их просто сделал более попсовыми.
Комментарии