Run Kotlin Scripts (kts) from regular Kotlin Programs. Факт номер 1: приложения Kotlin могут быт выполнены в режиме скриптинга (переименовываем файл в .kts и скармливаем его kotlinc). Факт номер 2: Java поддерживает интеграцию со скриптовыми языками (JSR-223). Факт номер 3: по умолчанию Kotlin компилируется в JVM (Java) и наследует почти все ее свойства.
Ну а суть статьи в том как все это заставить работать вместе и сделать приложение на Kotlin, функциональность которого можно расширять с помощью скриптов на Kotlin. Выглядеть вызов скриптов Kotlin из Kotlin может так:
with(ScriptEngineManager().getEngineByExtension("kts")) {
eval("val x = 3")
val res2 = eval("x + 2")
assertEquals(5, res2)
}
Код доступен в репозитории KtsRunner.
Ну а суть статьи в том как все это заставить работать вместе и сделать приложение на Kotlin, функциональность которого можно расширять с помощью скриптов на Kotlin. Выглядеть вызов скриптов Kotlin из Kotlin может так:
with(ScriptEngineManager().getEngineByExtension("kts")) {
eval("val x = 3")
val res2 = eval("x + 2")
assertEquals(5, res2)
}
Код доступен в репозитории KtsRunner.