Saubere Lösung zum Ablegen in der REPL-Konsole während der Programmausführung

Gibt es eine funktionierende Lösung für das Ablegen in der REPL-Konsole mit Scala 2.10?

Dies ist hauptsächlich zu Debug-Zwecken gedacht. Ich möchte mitten in der Ausführung eine Pause einlegen und eine REPL-Konsole haben, auf der ich die Werte überprüfen und die Programmlogik mit komplexen Ausdrücken in meinem Programm beim aktuellen Ausführungsstatus testen kann. Diejenigen, die in Ruby programmiert haben, kennen möglicherweise eine ähnliche Funktion: diebinding.pry.

AFAIK, Scala 2.9 und darunter verwendet zu habenbreakIf aber es wurde aus den späteren Versionen entfernt. VerwendenILoop scheint der neue weg zu sein, aber eingeführte probleme sind aufsbt Scala-Bibliothek wird nicht zum Klassenpfad hinzugefügt.

Mehrere Lösungen wiediese unddiese Es scheint eine gute Lösung zu sein, aber ich gehe davon aus, dass es eine Lösung geben muss, bei der ich keine Stunden oder gar Tage aufwenden muss, um die REPL zum Laufen zu bringen.

Kurz gesagt, es sind viel mehr Boilerplate-Schritte erforderlich - dies steht im Gegensatz zubinding.pry Das ist nur eine Codezeile ohne zusätzliche Boilerplate.

Mir ist nicht bekannt, ob beim Ausführen des Programms als sbt-Task ein Problem aufgetreten ist, im Gegensatz zum direkten Ausführen der ausführbaren Programmdatei. Zur Zeit führe ich mein Programm zu Entwicklungszwecken aus und teste es mit der sbt-Task.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage