Я пытаюсь взять массив пар (StartTime: Int, EndTime: Int) и сократить их до накопления времени для каждой сессии.
fun main() {
val sessionsInSecond = listOf<Pair<Int,Int>>(Pair(10,12), Pair(10,15))
val timeSpan: Int = sessionsInSecond.reduce{acc, it -> acc + (it.second - it.first) }
println(timeSpan)
}
Это дает мне следующую ошибку:
Неразрешенная ссылка.Ни один из следующих кандидатов не применим из-за несоответствия типов получателей: @InlineOnly открытый встроенный оператор fun BigDecimal.plus (other: BigDecimal): BigDecimal определен в kotlin @InlineOnly открытый встроенный оператор fun BigInteger.plus (other: BigInteger): BigInteger определен воткрытый оператор kotlin fun Array.plus (elements: Array): массив, определенный в kotlin.collections public operator fun Array.plus (elements: Collection): массив, определенный в kotlin.collections открытый оператор fun Array.plus (element: Int): Arrayопределено в общедоступном операторе funk kotlin.collections BooleanArray.plus (element: Boolean): BooleanArray определено в общедоступном операторе kotlin.collections fun BooleanArray.plus (elements: BooleanArray): BooleanArray определено в общедоступном операторе kotlin.collections fun BooleanArray.plus (elements:Коллекция): BooleanArray определен в открытом операторе fun kotlin.collections fun ByteArray.plus (element: Byte): ByteArray определен в открытом операторе kotlin.collections fun ByteArray.plus (elements: ByteArray): ByteArray определен в открытом потоке оператора kotlin.collections. ByteArray.plus (elements: Collection): ByteArray определен в открытом потоке оператора kotlin.collections @InlineOnly. Char.plus (other: String): строка определена в открытом операторе kotlin.text.fun CharArray.plus (element: Char): CharArray, определенный в открытом операторе kotlin.collections fun CharArray.plus (elements: CharArray): CharArray, определенный в открытом операторе kotlin.collections fun CharArray.plus (elements: Collection): CharArray, определенный в kotlin.collections открытый оператор fun DoubleArray.plus (element: Double): DoubleArray, определенный в kotlin.collections открытый оператор fun DoubleArray.plus (elements: DoubleArray): DoubleArray, определенный в kotlin.collections открытый оператор fun DoubleArray.plus (elements: Collection):DoubleArray, определенный в kotlin.collections, открытый оператор fun FloatArray.plus (element: Float): FloatArray, определенный в kotlin.collections, открытый оператор fun FloatArray.plus (elements: FloatArray): FloatArray, определенный вkotlin.collections открытый оператор fun FloatArray.plus (elements: Collection): FloatArray, определенный в kotlin.collections открытый оператор fun IntArray.plus (element: Int): IntArray, определенный в kotlin.collections открытый оператор fun IntArray.plus (elements: IntArray): IntArray определен в общедоступном операторе kotlin.collections fun IntArray.plus (elements: Collection): IntArray определен в общедоступном операторе kotlin.collections fun LongArray.plus (element: Long): LongArray определен в открытом операторе kotlin.collections fun LongArray.plus (elements: LongArray): LongArray, определенный в открытом потоке оператора kotlin.collections LongArray.plus (elements: Collection): LongArray, определенный в открытом потоке открытого оператора kotlin.collections ShortArray.plus (element: Short): ShortArray, определенный в потоке открытого оператора kotlin.collectionsShortArray.plus (elements: ShortArray): ShortArray, определенный в общедоступном операторе kotlin.collections. ShortArray.plus (elements: Collection): ShortArray, определенный в общедоступном операторе kotlin.collections.ring? .plus (other: Any?): строка, определенная в общедоступном операторе kotlin fun String? .plus (other: Any?): строка, определенная в общедоступном операторе kotlin fun Collection.plus (elements: Array): список, определенный в kotlin.коллекции public operator fun Collection.plus (elements: Iterable): список, определенный в kotlin.collections public operator fun Collection.plus (elements: Sequence): список, определенный в kotlin.collections public operator fun Collection.plus (element: Int): списокопределено в общедоступном операторе kotlin.collections. Iterable.plus (elements: Array): Список определен в общедоступном операторе kotlin.collections.Iterable.plus (elements: Iterable): список, определенный в общедоступном операторе kotlin.collections fun Iterable.plus (elements: Sequence): список, определенный в публичном операторе kotlin.collections fun Iterable.plus (element: Int): список, определенный в kotlin.коллекции public operator fun Map.plus (pair: Array>): карта определена в kotlin.collections public operator fun Map.plus (pair: Pair): карта определена в kotlin.collections public operator fun Map.plus (пары: Iterable>): Карта, определенная в общедоступном операторе kotlin.collections fun Map.plus (map: Map): Карта, определенная в общедоступном операторе kotlin.collections Map.plus (пары: последовательность>): Карта, определенная в общедоступном операторе kotlin.collections fun Set.plus(elements: Array): установить определенный в общедоступном операторе kotlin.collections fun Set.plus (elements: Iterable): установить определенный в общедоступном операторе kotlin.collections fun Set.plus (elements: Sequence): установить определенный в общедоступном операторе kotlin.collectionsfun Set.plus (element: Int): множество, определенное в открытом операторе kotlin.collections fun Sequence.plus (elements: Array): последовательность определена в общедоступном операторе kotlin.sequence fun Sequence.plus (elements: Iterable): последовательность определена в общедоступном операторе kotlin.sequence Sequence.plus (elements: Sequence): последовательность определена в публичном операторе kotlin.sequence funSequence.plus (element: Int): последовательность, определенная в kotlin.sequence
Есть предложения, как решить эту проблему?пс.Это упражнение на уменьшение, поэтому я не хочу просто добавлять значения в цикл forEach.