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 )?
ご協力とご提案をお寄せいただきありがとうございます。