Возможный дубликат:
"eval" в Scala
Я знаю, что scala является скомпилированным языком, но я также знаю, что я могу динамически загружать классы в jvm, и я могу вызвать компилятор scala во время выполнения, но не в последнюю очередь у меня также есть потрясающий repl, поэтому наличие scala в качестве языка сценариев должно быть возможным.
поэтому есть некоторые задачи, которые мне нужно выполнить:
простая интерпретация:
val src = """ println("Hello World") """
interpret(src)
вызов внешних функций:
object A{
def foo =
println("Hello World")
}
val src = """ A.foo """
interpret(src)
реализовать функциональность:
trait T{
def foo:String
}
val src = """ class A extends T{ def foo = "Hello World" } """
interpret(src)
val t = loadClassAndCreatInstance.asInstanceOf[T]
println(t.foo)
было бы здорово найти решение всех моих проблем.