LoginSignup
0
0

More than 3 years have passed since last update.

【Kotlin】標準入力が閉じられるまで入力を1行ずつ取得して処理する

Posted at

標準入力が閉じられるまで
入力を1行ずつ取得して処理し、
閉じられたらその処理を終わりたい場合には、
generateSequence { readLine() } を使うとよい。

例えば入力をそのまま標準出力するのであれば次のようになる。

fun main() {
    generateSequence {
        readLine()
    }.forEach {
        println(it);
    }
}

readLine は呼び出すたびに標準入力から1行取得して返し、標準入力が閉じられたら null を返す。
generateSequenceSequence を生成する。その Sequence は、引数として受け取った関数が返した値を要素とし、その関数が null を返せば終端する。
従って generateSequence { readLine() } は標準入力が閉じられるまで入力を1行ずつ取得して要素とする Sequence を生成する。

/以上

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0