0

我正在尝试使用 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 文档。使用取自maven的 util-eval_2.11-6.43.0.jar

4

1 回答 1

0

正如评论中提到的 erip ,您正在编译的源字符串创建了一个类 Test,但由于您从未实例化该类,因此它永远不会在其中运行代码。

如果您更换:

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

和:

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

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

于 2017-06-27T05:58:14.520 回答