是否有用于以编程方式运行Scala REPL的API?

是否有用于以编程方式运行Scala REPL的API?,api,scala,read-eval-print-loop,Api,Scala,Read Eval Print Loop,基于和它看起来不会很难得到相当于 def runLine(line: String): String 但是已经有人写过了吗?有很多例子,但可能很难找到。这是我不久前写的一篇: 棘手的部分是让解释器加载Scala JAR。我已经手动加载了JAR以使其与web start一起工作,但是在您的情况下,简单的settings.usejavacp.value=true就足够了 您可以在此处看到正在运行的解释器:此答案的可能副本提供了更多详细信息:。请注意,从Scala 2.9开始,库的接口已经更改(重

基于和它看起来不会很难得到相当于

def runLine(line: String): String

但是已经有人写过了吗?

有很多例子,但可能很难找到。这是我不久前写的一篇:

棘手的部分是让解释器加载Scala JAR。我已经手动加载了JAR以使其与web start一起工作,但是在您的情况下,简单的
settings.usejavacp.value=true
就足够了


您可以在此处看到正在运行的解释器:

此答案的可能副本提供了更多详细信息:。请注意,从Scala 2.9开始,库的接口已经更改(重构)。此外,您可能会遇到嵌入REPL的类路径与父进程不同的问题;这里有一些解决方案:@Daniel这是在尝试做一件完全不同的事情,那就是中断scala程序来启动通常的REPL。我试图在非REPL中复制REPL的行为。@Owen,then?@Daniel这非常接近,尽管它使用了
解释器.main(设置)
,所以它仍然使用标准REPL的主循环。