Проблема с BufferedReader.readLine при использовании sbt run или sbt console

Мой вопрос быстр. Я работаю над небольшой консолью для чтения ввода и последующего вызова соответствующего кода. Я использую sbt и столкнулся с проблемой, когда я пытаюсь прочитать ввод после запуска моей программы с помощью sbt run, внутри консоли sbt или даже в старом простом интерпретаторе scala.

Приглашение кажется просто зависшим, но если я нажму «Ввод», он действительно прочитает ввод. Хотя буфер оболочки остается пустым. Вот общий код, который я пробовал, который вызывал у меня проблему.

import java.io._

val s = new BufferedReader(new InputStreamReader(System.in)) 

val line = s.readLine

println(line)

Кто-нибудь знает, почему это так, и если да, то есть ли способ это исправить? Я хотел бы иметь возможность видеть, что я печатаю, когда запускаю свою программу из sbt. Не видя, что я печатаю в оболочке, тестирование и разработка моего проекта становятся менее приятными.

6
задан jroesch 13 March 2012 в 04:11
поделиться