this questionには、Console.in.read.toChar
を使用することが推奨されました。それはREPLで正常に動作しますが、私は、スクリプトにそれを置くときに動作しない(Enterキーを押すようにユーザーに要求する):ユーザからの入力を1度に読み取る(スクリプトまたはコンパイルされたアプリで)?
#!/usr/bin/scala
!#
while (true) {
val c = Console.in.read.toChar
println("Got " + c)
}
を私は文字を入力してEnterキーを押したときにそう、私が取得
Got a
Got
私はgnome-terminalのUbuntu 11.04でScala 2.9.0.1を使用しています。
私は間違っていますか?
Console.inのドキュメントを見て、バッファリングを変更する方法を見てください。 – dave4420
@ dave4420 - バッファリングを変更する場所はどこですか? BufferedReaderにはこのためのメソッドがないようです。 – Rogach
いいえアイデア:-(私はScalaの初心者ですが、この問題はさまざまな言語で何度も繰り返され、通常はバッファリングと関係します。 – dave4420