2013-11-27 29 views
0

我試圖用java.util.Scanner的從斯卡拉:如何使用java.util.Scanner中從斯卡拉

val scanner = new java.util.Scanner(System.in) 
val line = scanner.readLine() 
println(line) 

無論是在斯卡拉REPL粘貼或者運行scala file.scala,我得到這個:

:2: error: value readLine is not a member of java.util.Scanner 
val line = scanner.readLine() 

我錯過了什麼?

回答

4

java.util.Scanner沒有readLine嘗試nextLine

scala> val scanner = new java.util.Scanner(System.in) 
scanner: java.util.Scanner = java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\,][decimal separator=\.][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q�\E][infinity string=\Q∞\E] 

scala> val line = scanner.nextLine() 
line: String = foo 
+0

咄階,那就是我的意思! hehe – michelpm

+0

在掃描儀的REPL中tab-complete是有幫助的。 ;) – Brian

1

最簡單的方法似乎是使用JavaConverters使用ScannerIterator

import scala.collection.JavaConverters._ 
... 
val input = new Scanner(System.in).asScala 
input.head // first element 
val asList = input.toList // scala list