Scala REPL是否有适用于编程的API?

7

1
可能是以编程方式启动Scala REPL?的重复问题。 - Daniel C. Sobral
1
此答案提供了更多细节:https://dev59.com/pXI95IYBdhLWcg3wxA8-。请注意,自Scala 2.9以来,该库的接口已更改(重构)。此外,您可能会遇到嵌入式REPL的类路径与父进程不同的问题;这里有一些解决方案:https://dev59.com/MVHTa4cB1Zd3GeqPT7VP - Kipton Barros
@Daniel 正试图做一件非常不同的事情,即中断 Scala 程序以启动通常的 REPL。我正在尝试在非 REPL 中复制 REPL 的行为。 - Owen
@Owen 这个呢? - Daniel C. Sobral
@Daniel 这相当接近,但它使用了 interpreter.main(settings),因此仍然使用标准 REPL 的主循环。 - Owen
@Owen 嗯,有这个链接,但它只适用于2.7.7版本。不确定它是否仍然有效。它也不是重复的问题 - 那个人已经解决了。这个链接可以编译和加载。 - Daniel C. Sobral
1个回答

6

这里有很多相关的例子,但可能不容易找到。这是我一段时间前写的一个例子:

http://code.google.com/p/simplex3d/source/browse/trunk/Simplex3dConsole/src/simplex3d/console/SimpleInterpreter.scala?r=790

困难的部分是让解释器加载Scala jars。我已经手动加载了jars,以使它与web-start配合工作,但在你的情况下,简单的settings.usejavacp.value = true可能就足够了。

您可以在此处查看解释器的实际操作:http://www.simplex3d.org/console/


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