2013-11-27 3 views
0

Я пытался использовать java.util.Scanner из Скале:Как использовать java.util.Scanner из Скале

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

Либо наклеивать на лестницу РЕПЛ или запустив 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

tab-complete на сканере в REPL полезен. ;) – Brian

1

Самый простой способ, похоже, использует JavaConverters использовать Scanner как Iterator:

import scala.collection.JavaConverters._ 
... 
val input = new Scanner(System.in).asScala 
input.head // first element 
val asList = input.toList // scala list 
Смежные вопросы