Looking for scala Answers? Try Ask4KnowledgeBase
Looking for scala Keywords? Try Ask4Keywords

Scala Languageマクロ


前書き

マクロは、コンパイル時のメタプログラミングの一形態です。注釈やメソッドなど、Scalaコードの特定の要素は、コンパイル時に他のコードを変換するために作成できます。マクロは、他のコードを表すデータ型で動作する通常のScalaコードです。 [Macro Paradise] []プラグインは、マクロの能力を基本言語を超えて拡張します。 [マクロパラダイス]:http://docs.scala-lang.org/overviews/macros/paradise.html

構文

  • def x()=マクロx_impl // xはマクロで、x_implはコードを変換するために使われます
  • def macroTransform(annottees:Any *):Any =マクロimpl //アノテーションでマクロを使用する

備考

マクロは、 scala.language.macrosをインポートscala.language.macrosか、コンパイラオプション-language:macros使用して、有効にする必要がある言語機能です。マクロ定義だけがこれを必要とします。マクロを使用するコードでは必要ありません。

マクロ 関連する例