Scala中是否有等效的getch()?

时间:2011-08-17 20:43:16

标签: c scala

我正在寻找Scala中具有与getch类似功能的函数。在使用控制台时,我希望我的程序根据用户输入的字符显示信息(例如,如果我显示文本,则按n将显示下一页,而p显示前一页)。现在我正在使用readLine或readChar,但是他们要求用户在每次输入后按Enter键,有点烦人。另外,在Eclipse插件的解释器中,显示了输入字符,尽管我猜这可能是不可避免的。

3 个答案:

答案 0 :(得分:7)

scala.Console.readChar,代表当前的Scala版本,Predef.getChar是最直接的方式。

scala> readChar
res0: Char = !

更新

这次没有讨厌的Enter

scala> Console.in.read.toChar
res0: Char = !

答案 1 :(得分:2)

您可以尝试使用 1.6 中添加的Java Console。这是REPL会议:

scala> val r  = System.console().reader()
r: java.io.Reader = java.io.Console$LineReader@1d97efc

scala> r.read.toChar
res8: Char = t

在repl会话期间,我在执行第二个表达式后按 t

reed方法不需要输入,并在您按键后立即返回。

答案 2 :(得分:2)

使用StdIn lib:

    StdIn.readChar()
相关问题