如何通过程序启动Scala REPL?

11
我希望能够通过命令行启动一个Scala Swing应用程序,然后在应用程序启动后进入Scala REPL作为控制界面。理想情况下,我还想预先绑定一些变量名。最好使用Java2D终端仿真器进行REPL,但我找不到合适的东西。Scala REPL有公共API吗?
1个回答

13

你可能在问与这个问题相同的事情,是吗?还有其他一些事情可以做。有一种方法可以仅使用代码调用REPL并获得答案,这取决于您想要什么,可能更合适。如果这就是您想要的,请明确说明,我会进行研究。

至于Java2D终端,我认为只需使用ConsolesetInsetOutsetErr即可,但我可能错了。您可能需要查看一下其他将REPL嵌入环境中的努力方式。我认为至少有三种方法,但快速搜索只发现了Kojo,它基于Netbeans。


2
很好,将scala.tools.nsc.Interpreter.break(DebugParam("i",i))在一个单独的线程中调用是有效的。谢谢!下次我会更仔细地搜索。 - David Crawshaw
1
@David 好的,请注意这将允许访问您自己的程序,这可能不是您想要的。如果您只想要一个REPL,请查看Scala脚本如何调用REPL,然后查找该类源代码。 - Daniel C. Sobral

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接