在运行时编译并执行Scala代码

时间:2011-09-19 21:35:45

标签: scala interpreter dsl

是否可以在Scala或Java中在运行时将scala代码编译为字符串?

我的想法是使用Scala构建DSL,然后让Java程序员在Java中使用DSL。

我听说类scala.tools.nsc.Interpreter可以做类似的事情,但当我在scala文件中导入它时,我得到“对象工具不是包scala的成员。”

那么有人可以给我一个暗示吗?

2 个答案:

答案 0 :(得分:17)

在2.10.0中,我们公开了Scala反射API,其中包括运行时编译工具。更多细节可以在这里找到:Generating a class from string and instantiating it in Scala 2.10

答案 1 :(得分:8)

我建议您twitter-utilEval