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
5
A
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).
@ 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). –
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
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 ... –