reduceRightIndexed
inline fun CharSequence.reduceRightIndexed(
operation: (index: Int, Char, acc: Char) -> Char
): CharAccumulates value starting with last character and applying operation from right to left to each character with its index in the original char sequence and current accumulator value.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val strings = listOf("a", "b", "c", "d")
println(strings.reduceRight { string, acc -> acc + string }) // dcba
println(strings.reduceRightIndexed { index, string, acc -> acc + string + index }) // dc2b1a0
// emptyList<Int>().reduceRight { _, _ -> 0 } // will fail
//sampleEnd
}Parameters
operation - function that takes the index of a character, the character itself
and current accumulator value, and calculates the next accumulator value.