Kotlin определяет только от component1()
до component5()
на List
, которые он использует для деструктурирования, поэтому ограничивает то, что вы можете с ним сделать.
Однако, благодаря Функции расширения , мы можем определить наши собственные:
operator fun <T> List<T>.component6(): T = this[5]
operator fun <T> List<T>.component7(): T = this[6]
operator fun <T> List<T>.component8(): T = this[7]
operator fun <T> List<T>.component9(): T = this[8]
(и так далее ...)
И тогда это должно работать:
val (x, y, z, f, e, m, s, t, c) = readInts()
Обратите внимание, что этовероятно, произойдет сбой, как написано, если ваши компоненты нулевые.