Как мне выполнить код и посмотреть результаты, используя twitter util-eval
Я пытаюсь скомпилировать и выполнить программу "hello world", используя библиотеку twitter util-eval. Но не в состоянии распечатать результаты.
Я собираюсь не просто скомпилировать и выполнить пример 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)
}
}
Как мне выполнить код и увидеть результаты? Я не могу получить надлежащую документацию по API для util-eval. Используя util-eval_2.11-6.43.0.jar взяты из описания ссылки здесь
1 ответ
Решение
Как упоминалось в комментариях erip, исходная строка, которую вы компилируете, создает класс Test, но, поскольку вы никогда не создаете экземпляр класса, он никогда не запускает код внутри.
Если вы замените:
val fileContents = "class Test {\n\n println (\"Hello World!\")\n\n}"
с:
val fileContents = "println(\"Hello World!\")\n\n}"
Это выполнит код, который вы хотите выполнить. Желаем удачи в вашем проекте!