2

コーディングの課題を行う際の一般的なパターンは、多くの行の入力を読み取ることです。行数が事前にわからないと仮定すると、EOF まで読み取る必要があります (readLine は null を返します)。

また、序文として、KotlinNative でコーディングしているため、java.utils.* に依存したくないため、スキャナーはありません。

私は多分次のようなことをしたいと思います

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 ループを使用せずに、すべての行を配列に読み込むより良い方法はありますか?

4

2 に答える 2