blog.petitviolet.net

    meta (2 posts)

    icon
    Written by petitviolet

    scalametaに入門する

    2017-02-19QiitaScalametaprogrammingmeta
    scalametaはinlinemacroと呼ばれるmacroannotatio
    scalameta は inline macro と呼ばれる macro annotation のためのツールキット。 型安全に macro 出来る。 公式とチュートリアルは以下。 - [scala.meta](http://scalameta.org/) - [A Whirlwind Tour of scala.meta](http://scalameta.org/tutorial/Part4-Macroannotations) setup まずは使えるようにするために build.sbt に追記。 sbt libraryDependencies += "org.sc

    scalametaでの型パラメータとコンストラクタ

    2017-02-19QiitaScalametaprogrammingmeta
    tl;dr直接、annotationclassの型パラメータやコンストラクタには
    tl;dr 直接、annotation class の型パラメータやコンストラクタにはアクセス出来ない。 その代わりに、thisを用いてパターンマッチで取得することが出来る。 題材 mix-in injection とか minimal cake pattern と呼ばれる、DI 対象となる class を mix-in する macro annotation を実装した。 - Uses[MyService]とするとval myService: MyServiceがフィールドに追加される - MixIn[MyService](new MyServiceImpl)