Распространенная закономерность при выполнении задач кодирования - читать много строк ввода.Предполагая, что вы не знаете заранее, сколько строк вы хотите прочитать до EOF (readLine возвращает null).
Также как предисловие, я не хочу полагаться на java.utils. *, Так как яЯ кодирую в KotlinNative, поэтому нет Сканера.
Я хотел бы, возможно, сделать что-то вроде
val lines = arrayListOf<String>()
for (var line = readLine(); line != null; line = readLine()) {
lines.add(line)
}
Но это, очевидно, не является действительным Kotlin.Самое чистое, что я могу придумать, это:
while (true) {
val line = readLine()
if (line == null) break
lines.add(line)
}
Это работает, но это не кажется идиоматичным.Есть ли лучший способ прочитать все строки в массиве, не используя цикл while / break?