標準入力を受け取りたい
そういう時もある。書き方結構あるなぁ。
書き方1
import scala.io.StdIn.readLine object Main { def main(args: Array[String]){ val Array(a, b) = readLine().split(" ").map(_.toInt) println((a,b)) val s = readLine() println(s) } }
実行例
$ scala App.scala 1 9 (1,9) hogehoge 666 hogehoge 666 $ echo -e 1 3 \\n hogehoge | scala App.scala (1,3) hogehoge
書き方2
import scala.io.StdIn.readLine object Main { def main(args: Array[String]){ for(line <- io.Source.stdin.getLines()) { val numAry = line.split(' ').map { _.toInt } println(numAry.sorted.mkString(" ")) } } }
実行例
$ echo -e 1 3 4 2 \\n3 2 1 3 2| scala App.scala 1 2 3 4 1 2 2 3 3
書き方3
object Main { def main(args: Array[String]): Unit = { val sc = new java.util.Scanner(System.in) val a, b = sc.nextInt() println(a) println(b) } }