gpt4 book ai didi

scala - 是否有 Scala 2.11 的 nsc 编译器 API 的概述?

转载 作者:行者123 更新时间:2023-12-01 02:22:20 25 4
gpt4 key购买 nike

scala.tools.nsc API 已从 2.10 完全更改为 2.11。例如,没有 Interpreter了。

我正在尝试建立一个类似于 http://codingbat.com 的网站在 Scala 中,所以我需要能够在我的程序运行时编译和运行用户提供的代码。

有谁知道解释如何在任何地方使用新 API 的内容? (我没有运气在谷歌上搜索我认为合理的搜索词。)如果没有,那么了解新 API 的人能否提供一个小的工作示例,让您编译代码,然后检索运行它的结果?

更新 2.11.0-M5 似乎破坏了脚本引擎支持,但我回到 2.11.0-M4 并且我可以使用 ScriptEngineManager找一个口译员。奇怪的是,类型是scala.tools.nsc.interpreter.IMain .那个包和类没有出现在 2.11.0-M4 Scaladocs 中,所以我想知道它们是否已经移出了其他地方的编译器工件,或者是否只是 Scaladoc 生产中的一个疏忽,它们应该仍然存在.

最佳答案

Scala 2.11.0-M4 现在具有 JSR 223 脚本支持,我认为这可能会取代您正在寻找的某些功能。见 docs.scala-lang.org/scala/2.11

该功能在 Scala 2.11.0-M5 中被破坏,但显然 fixed in 2.11.0-M6和 2.11.0-M4

 Welcome to Scala version 2.11.0-M4 (OpenJDK Server VM, Java 1.7.0_25).
Type in expressions to have them evaluated.
Type :help for more information.

scala> import javax.script.ScriptEngineManager
import javax.script.ScriptEngineManager

scala> val e = new ScriptEngineManager().getEngineByName("scala")
e: javax.script.ScriptEngine = scala.tools.nsc.interpreter.IMain@1741b6d

ScriptEngine Javadocjavax.script package summary

关于scala - 是否有 Scala 2.11 的 nsc 编译器 API 的概述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19330026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com