Scala - Как скомпилировать код из внешнего файла во время выполнения?
Я хочу разработать программу Scala, которая принимает файлы Scala в качестве параметров, которые могут настраивать выполнение программы. В частности, я хочу предоставить во время выполнения файлы, которые содержат реализации методов, которые будут вызываться программой. Как я могу должным образом зависеть от внешних файлов и динамически вызывать их методы во время выполнения? В идеале мне бы хотелось, чтобы эти файлы могли зависеть от методов и классов в моей программе.
Пример сценария: у меня есть функция, которая содержит строкуval p: Plant = Greenhouse.getPlant()
иGreenhouse
класс сgetPlant
Метод определен в одном из файлов, которые будут предоставлены во время выполнения. В этом файле методgetPlant
возвращаетRose
, гдеRose <: Plant
а такжеPlant
определяется в оригинальной программе. Как мне добиться (или приблизить) этой взаимозависимости, если файлы объединяются только во время выполнения, а не во время компиляции?