Есть ли какое-либо рабочее решение для перехода в консоль REPL с помощью Scala 2.10?
Это в основном для цели отладки - я хочу сделать паузу в середине выполнения и иметь консоль REPL, где я могу проверять значения и проверять логику программы, используя сложные выражения в моей программе в текущем состоянии выполнения. Те, кто запрограммирован в Ruby, могут знать аналогичную функцию: binding.pry
.
AFAIK, Scala 2.9, а при использовании breakIf
, но он был удален из более поздних версий. Использование ILoop
кажется новым, но ввел проблемы из-за sbt
не добавляя scala -library к пути к классам.
Несколько решений, таких как this и this, как представляется, предлагают хорошее обходное решение, но я считаю, что быть решением, где мне не нужно тратить часы или даже дни, чтобы заставить REPL работать.
Короче говоря, здесь задействовано гораздо больше шагов шаблона - это контрастирует с binding.pry
, который является просто строкой кода без дополнительного шаблона.
Я не знаю, возникла ли проблема при выполнении программы как задачи sbt, а не при запуске исполняемого файла напрямую, но для целей разработки я в настоящее время запускаю и тестирую свою программу с помощью задачи sbt.