如何使用 twitter util-eval 执行代码并查看结果

How do I execute the code and see the results using twitter util-eval

我正在尝试使用 twitter util-eval 库编译和执行“hello world”程序。但是无法打印结果。

我的目的不仅仅是编译和执行 hello world 示例,应该编译具有依赖关系的大型 scala 文件并 运行.

import com.twitter.util.Eval
object ScalaCompiler3 {
     def main(args: Array[String]): Unit = {
         val eval = new Eval()
         val fileContents = "class Test {\n\n println (\"Hello World!\")\n\n}"
         val compile = eval.apply[Unit](fileContents)
         println(compile)
     }
}

如何执行代码并查看结果?我无法获得 util-eval 的正确 API 文档。使用 util-eval_2.11-6.43.0.jar 取自 maven

正如 erip 在评论中提到的那样,您正在编译的源字符串进行了 class 测试,但是由于您从未实例化 class 它永远不会运行其中的代码。

如果你替换:

val fileContents = "class Test {\n\n println (\"Hello World!\")\n\n}"

与:

val fileContents = "println(\"Hello World!\")\n\n}"

这将执行您要执行的代码。祝你的项目好运!