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]
}

Source