Kotlin: возможно ли использовать оператор componentN в повторении? - PullRequest
0 голосов
/ 13 апреля 2020

Я учусь kotlin от гиперскилла.

Мне любопытно, можно ли назначить оператор componentN для повторения функции, как в:

val (a, b, c) = repeat(3) { BigInteger(readLine()!!) }

Я попытался расширить некоторые из мои функции с оператором componentN, но я не знаю, как это сделать с repeat

1 Ответ

4 голосов
/ 13 апреля 2020

repeat ничего не возвращает, что означает, что вы не можете использовать эту функцию для объявлений деструктурирования . Но вы можете использовать Range с map, List или Array:

val (a, b, c) = (1..3).map { BigInteger(readLine()!!) }
//or
val (a, b, c) = Array(3) { BigInteger(readLine()!!) }
...