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.