Scala中是否有等效的getch()?
我正在寻找Scala中具有与getch类似function的函数。 在使用控制台时,我想根据用户输入的字符显示我的程序显示信息(例如,如果我显示文本,点击n将显示下一页,而p显示前一页)。 现在我正在使用readLine或readChar,但它们要求用户在每次输入后按Enter键,有点烦人。 另外,在Eclipse插件的解释器中,显示了输入字符,尽管我猜这可能是不可避免的。
scala.Console.readChar
,作为Predef.getChar
当前版本的Scala中的Predef.getChar
是最直接的方式。
scala> readChar res0: Char = !
UPDATE
这次没有讨厌的Enter
:
scala> Console.in.read.toChar res0: Char = !
您可以尝试使用1.6中添加的Java 控制台 。 这是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
方法不需要输入并在按下键后立即返回。
使用StdIn lib:
StdIn.readChar()