2
Getting Parameters from Scala Macro Annotationは、マクロ注釈からパラメータを取得する方法を説明しています。私はいくつかのデフォルト値を持つパラメータを持っている場合は、:デフォルトの引数を持つマクロ注釈
class Foo(b: Boolean = false, i: Int = 0) extends StaticAnnotation { ... }
を私は
val (b, i) = c.prefix.tree match {
case q"new Foo(..$args)" => ???
}
は???
内のロジックは非常に厄介になっているようだ(その質問への回答に基づいて)記述する必要があります。私が必要位置と名前付きの両方のパラメータを扱うことができます。デフォルト値への単純なアクセスなどはありません。単純化する方法はありますか?
は、これまでのところ、残念ながら何より良い方法はありません。 –
パラメータの値を取得する必要がある場合は、次のようになります。 http://stackoverflow.com/a/42961043/3669757 – eje