2013-03-08 13 views
5

Wiem o readInt i readLine podobnych metodach odczytu danych wejściowych z klawiatury i jestem w stanie zapełnić zmienne danymi wpisanymi przez użytkownika. Ale w REPL nic nie jest wyświetlane podczas pisania znaków. Czy istnieje REPL ustawienie, aby były widoczne? Czy powinienem użyć innego sposobu odczytu danych wejściowych od użytkownika?Odczytaj wejście klawiatury w Scali z wpisanymi znakami widocznymi

+0

@ om-nom-nom - To nie pokazuje tego, co piszesz, tylko to, co wpisałeś po naciśnięciu Enter (kiedy prawdopodobnie jest za późno). –

+0

Jeśli wezmę plik klasy, który został skompilowany z kodu Scala i uruchomić go za pomocą 'java.exe', znaki są widoczne podczas pisania, bez konieczności pisania kodu, aby je wyświetlić. Wypełniona aplikacja zostanie uruchomiona za pomocą 'java.exe', więc nie chcę pisać kodu tylko z powodu zachowania REPL. – Gigatron

+0

Myślę, że Scala REPL (nadal) używa JLine. Prawdopodobnie możesz kopać w źródle REPL i dowiedzieć się, jak dostać się do odpowiednich obiektów i wywołać odpowiednią metodę, aby zmienić zachowanie wejścia. ... Mam nadzieję, że to dla ciebie dość mgliste ... –

Odpowiedz

5

Jestem zaskoczony, że jeszcze nie udzielono odpowiedzi. Natknąłem się na ten sam problem przez jakiś czas. Spróbuj uruchomić rEPL tak:

C:\> scala -Xnojline 

Należy wyłączyć JLine i pozwalają na stosowanie metody readLine sposób można oczekiwać (wyświetlanie znaków wpisywanych podczas ich pisania).