delete last line
標準入力から渡されるもののうち、最終行以外を出力するというもの。
readLineで行ごとに受け取るなら、最終行かを判別するために、前行を保持しておいて〜とかする必要がありそうなので、まずはio.Source.stdin使って全体とって最終行をなにかしらで省く方法でいってみます。
とりあえずまず最初に通るものを。
- 53bytes
io.Source.stdin.getLines.toList.init.foreach(println)
io.Source.stdin.getLines で全入力を行単位の Iterator[String] にして、toListして、initで末尾(ここでは最後の行の文字列)を取り除いて、出力。
やってることは素直なので、わかりやすいけど若干長い。
同じような感じでもう1つ。最終行末尾には改行コードが入らないので、改行コードでsplitして最後の要素を省いて出力。
まあ伸びたけどw
- 58bytes
(io.Source.stdin.mkString split"\n").init.foreach(println)
readLine使ったパターンの方が短くなりそうだけど、ちょっと今酔ってるので、寝て起きたら考えます。