reduceRightOrNull
inline fun DoubleArray.reduceRightOrNull(operation: (Double, acc: Double) -> Double): Double?(source)
inline fun BooleanArray.reduceRightOrNull(operation: (Boolean, acc: Boolean) -> Boolean): Boolean?(source)
inline fun UShortArray.reduceRightOrNull(operation: (UShort, acc: UShort) -> UShort): UShort?(source)
Accumulates value starting with the last element and applying operation from right to left to each element and current accumulator value.
Returns null
if the array is empty.
Since Kotlin
1.4Parameters
operation
function that takes an element and current accumulator value, and calculates the next accumulator value.
Samples
import kotlin.test.*
fun main() {
//sampleStart
val strings = listOf("a", "b", "c", "d")
println(strings.reduceRightOrNull { string, acc -> acc + string }) // dcba
println(strings.reduceRightIndexedOrNull { index, string, acc -> acc + string + index }) // dc2b1a0
println(emptyList<String>().reduceRightOrNull { _, _ -> "" }) // null
//sampleEnd
}
Accumulates value starting with the last element and applying operation from right to left to each element and current accumulator value.
Returns null
if the list is empty.
Since Kotlin
1.4Parameters
operation
function that takes an element and current accumulator value, and calculates the next accumulator value.
Samples
import kotlin.test.*
fun main() {
//sampleStart
val strings = listOf("a", "b", "c", "d")
println(strings.reduceRightOrNull { string, acc -> acc + string }) // dcba
println(strings.reduceRightIndexedOrNull { index, string, acc -> acc + string + index }) // dc2b1a0
println(emptyList<String>().reduceRightOrNull { _, _ -> "" }) // null
//sampleEnd
}