我正在尝试使用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文档。使用来自enter link description here
的util-eval_2.11-6.43.0.jar答案 0 :(得分:0)
正如评论中提到的erip,你正在编译的源字符串构成了一个类Test,但是因为你从未实例化它,所以它永远不会在其中运行代码。
如果替换:
val fileContents = "class Test {\n\n println (\"Hello World!\")\n\n}"
使用:
val fileContents = "println(\"Hello World!\")\n\n}"
这将执行您要执行的代码。祝你的项目好运!