Как мне выполнить код и посмотреть результаты, используя 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}"

Это выполнит код, который вы хотите выполнить. Желаем удачи в вашем проекте!

Другие вопросы по тегам