reduceRightOrNull

Common
JVM
JS
Native
1.4
inline fun < S , T : S > Array < out T > . reduceRightOrNull (
operation : ( T , acc : S ) -> S
) : S ?

(source)
inline fun ByteArray . reduceRightOrNull (
operation : ( Byte , acc : Byte ) -> Byte
) : Byte ?

(source)
inline fun ShortArray . reduceRightOrNull (
operation : ( Short , acc : Short ) -> Short
) : Short ?

(source)
inline fun IntArray . reduceRightOrNull (
operation : ( Int , acc : Int ) -> Int
) : Int ?

(source)
inline fun LongArray . reduceRightOrNull (
operation : ( Long , acc : Long ) -> Long
) : Long ?

(source)
inline fun FloatArray . reduceRightOrNull (
operation : ( Float , acc : Float ) -> Float
) : Float ?

(source)
inline fun DoubleArray . reduceRightOrNull (
operation : ( Double , acc : Double ) -> Double
) : Double ?

(source)
inline fun BooleanArray . reduceRightOrNull (
operation : ( Boolean , acc : Boolean ) -> Boolean
) : Boolean ?

(source)
inline fun CharArray . reduceRightOrNull (
operation : ( Char , acc : Char ) -> Char
) : Char ?

(source)
@ExperimentalUnsignedTypes inline fun UIntArray . reduceRightOrNull (
operation : ( UInt , acc : UInt ) -> UInt
) : UInt ?

(source)
@ExperimentalUnsignedTypes inline fun ULongArray . reduceRightOrNull (
operation : ( ULong , acc : ULong ) -> ULong
) : ULong ?

(source)
@ExperimentalUnsignedTypes inline fun UByteArray . reduceRightOrNull (
operation : ( UByte , acc : UByte ) -> UByte
) : UByte ?

(source)
@ExperimentalUnsignedTypes 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.

import kotlin.test.*

fun main(args: Array<String>) {
//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
}

Parameters

operation - function that takes an element and current accumulator value, and calculates the next accumulator value.

Common
JVM
JS
Native
1.4
inline fun < S , T : S > List < T > . reduceRightOrNull (
operation : ( T , acc : S ) -> S
) : S ?

(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 list is empty.

import kotlin.test.*

fun main(args: Array<String>) {
//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
}

Parameters

operation - function that takes an element and current accumulator value, and calculates the next accumulator value.