Есть функция, которая возвращает сумму всех переданных параметров. Как записать эту функцию в переменную с помощью лямбда-выражения?
Есть функция, которая возвращает сумму всех переданных параметров:
fun sum(vararg numbers:Int): Int {
var result = 0
for (i in numbers) {
result += i
}
return result
}
Как записать эту функцию с помощью лямбда? Когда я в параметры ввожу vararg, то пишет, что не поддерживается
val sum:(vararg Int) -> Int =
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
К сожалению такое поведение не предусмотрено, после компиляции vararg превращается в массив. Однако можно некрасиво обойти, например так:
val sumWrapper: (IntArray) -> Int = {arr: IntArray -> sum(*arr)}