インタラクティブなデバッグのために REPL コードでメソッドを使用することについてここで読んでいましたが、Scala 2.10 で削除されたと言っているこの投稿を見つけました。残念ながら、その投稿にはコードが削除された理由が説明されていません。breakIf
break
breakIf
ILoop
これを行うためのより良い方法があるため、これらの機能は削除されたと思います。もしそうなら、誰かが私を啓発してもらえますか?
インタラクティブなデバッグのために REPL コードでメソッドを使用することについてここで読んでいましたが、Scala 2.10 で削除されたと言っているこの投稿を見つけました。残念ながら、その投稿にはコードが削除された理由が説明されていません。breakIf
break
breakIf
ILoop
これを行うためのより良い方法があるため、これらの機能は削除されたと思います。もしそうなら、誰かが私を啓発してもらえますか?
おそらく、ILoop
直接操作する必要があるという考えですか?私が知る限り、次のように複雑にする必要はありません。
// insert the code below wherever you want a REPL
val repl = new ILoop
repl.settings = new Settings
repl.in = SimpleReader()
repl.createInterpreter()
// bind any local variables that you want to have access to
repl.intp.bind("i", "Int", i)
repl.intp.bind("e", "Exception", e)
// start the interpreter and then close it after you :quit
repl.loop()
repl.closeInterpreter()
古い API と比較すると、このアプローチでは、条件 ( にラップされていた) と/ (引数を埋めるためだけに使用される一時的なラッパー)breakIf
の両方に対する間接的な追加レベルが取り除かれます。if
=> Boolean
DebugParam
NamedParam
bind
このアプローチでは、必要に応じてを指定することもできますSettings
。たとえば、一部の REPL バグは回避できますが、-Yrepl-sync
それbreak
を指定する方法がありません。