scan
Returns a list containing successive accumulation values generated by applying operation from left to right to each character and current accumulator value that starts with initial value.
inline fun <R> CharSequence.scan(initial: R, operation: (acc: R, Char) -> R): List<R>(source)
fun main() {
val digits = "1234"
val runningSum = digits.scan(0) { acc, ch -> acc + (ch - '0') }
println(runningSum) // prints [0, 1, 3, 6, 10]
}