以下の内容はhttps://r9.hateblo.jp/entry/2016/01/05/232036より取得しました。


Scalaで標準入力を受け取る

text1.txt

123
234 345 456
5
6
7
8
9
10

上のデータが標準入力でわたってくるので、受け取りたい。

Main.scala

object Main extends App {
  import scala.io.StdIn.readLine

  // 1行目
  val firstArg = readLine().toInt

  // 2行目をスペースで区切りながらIntにしてList化
  val Seq(secondArg1, secondArg2, secondArg3): Seq[Int] = readLine().split(" ").map(_.toInt).toList

  // 残りの行を一気にIntにしてList化
  val restArgs: List[Int] = Iterator.continually(readLine()).takeWhile(_ != null).map(_.toInt).toList


  println("firstArg: %d".format(firstArg))
  println("secondArg 1: %d, 2: %d, 3: %d".format(secondArg1, secondArg2, secondArg3))
  println("restArgs: %s".format(restArgs.mkString(",")))
}

実行

$ scalac Main.scala && cat text1.txt | scala Main
firstArg: 123
secondArg 1: 234, 2: 345, 3: 456
restArgs: 5,6,7,8,9,10



以上の内容はhttps://r9.hateblo.jp/entry/2016/01/05/232036より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14