2013-03-08 9 views
5

Ich kenne readInt und readLine ähnliche Methoden zum Lesen von Eingaben über die Tastatur und kann Variablen mit den vom Benutzer eingegebenen Daten füllen. In der REPL wird jedoch nichts angezeigt, wenn die Zeichen eingegeben werden. Gibt es eine Einstellung in der REPL, um sie sichtbar zu machen? Oder sollte ich eine andere Möglichkeit nutzen, Eingaben vom Benutzer zu lesen?Lesen Tastatureingabe in Scala mit den eingegebenen Zeichen

+0

@ om-nom-nom - Das zeigt nicht, was Sie tippen, nur was Sie eingegeben haben, nachdem Sie die Eingabetaste gedrückt haben (wenn es vermutlich zu spät ist). –

+0

Wenn ich eine Klassendatei nehme, die aus Scala-Code kompiliert wurde und sie mit 'java.exe 'ausführt, werden die Zeichen so angezeigt, wie ich sie eintippe, ohne Code schreiben zu müssen, um sie anzuzeigen. Die fertige Anwendung wird mit 'java.exe 'ausgeführt, deshalb möchte ich Code nicht nur wegen des Verhaltens der REPL schreiben. – Gigatron

+0

Ich denke die Scala REPL (immer noch) benutzt JLine. Sie können wahrscheinlich in der REPL-Quelle herumstöbern und herausfinden, wie Sie zu den relevanten Objekten gelangen und die richtige Methode aufrufen, um das Eingabeverhalten zu ändern. ... ich hoffe, das ist vage genug für dich ... –

Antwort

5

Ich bin überrascht, dass dies noch nicht beantwortet wurde. Ich bin vor einiger Zeit auf dasselbe Problem gestoßen. Versuchen Sie, die REPL wie folgt ausgeführt werden:

C:\> scala -Xnojline 

Dies sollte jline deaktivieren und ermöglichen es Ihnen, die readLine Methode, um die Art und Weise zu verwenden, die Sie erwarten würden (Anzeigen von Zeichen eingegeben, wie Sie sie eingeben).