Twitter util 库为如何在运行时评估 Scala 代码提供了一个很好的实用程序,例如:
val eval = new com.twitter.util.Eval()
val example = eval.apply("""
case class E() {
def one(): Int = 1
}
(new E).one()
""").asInstanceOf[Int]
// example: Int = 1
但是是否可以评估不返回任何内容的代码(返回状态 true/false - 已编译/失败),然后开始使用在评估部分中定义的类,例如:
val eval = new com.twitter.util.Eval()
eval.{_MAGIC_METHOD_}("""
case class E() {
def one(): Int = 1
}
""")
val one = (new E).one(); // and this one will be -> one: Int = 1
所以我对 {_MAGIC_METHOD_} 部分很好奇,是否可以使用一些库来做到这一点?Twitter实用程序可以吗?其他一些实用程序库?Scala 编译器(Scala 编译器 - http://mvnrepository.com/artifact/org.scala-lang/scala-compiler)?
提前感谢您的帮助和任何建议。