vmironov
03/05/2016, 9:39 AMfun main(args: Array<String>) {
val sequence = sequenceOf("1", "2", "3")
sequence
.peekRight { println("[peekRight] $it") }
.forEach { println("[forEach] $it") }
println("=".repeat(13))
sequence
.peekWrong { println("[peekWrong] $it") }
.forEach { println("[forEach] $it") }
}
inline fun <T> Sequence<T>.peekRight(crossinline action: (T) -> Unit) = map { action(it); it }
inline fun <T> Sequence<T>.peekWrong(crossinline action: (T) -> Unit) = apply { forEach(action) }