1

quasiquote 実装を含む scala マクロ プロジェクトを構築しています。

    val valDefs = named.map { case (child, name) =>
      q"val $name = play.api.libs.json.Json.writes[$child]"
    }

ただし、コンパイル時に、maven ビルダー (インクリメンタル コンパイル モードを使用) は次のエラーをスローします。

[ERROR] /home/peng/git/spookystuff/ispark-macro/src/main/scala/JsMacroImpl.scala:74: value q is not a member of StringContext
[ERROR]           q"val $name = play.api.libs.json.Json.writes[$child]"
[ERROR]           ^

私のscalaはかなり遅いバージョンであると確信しています.2.10.4ですが、なぜ新しい標準を認識できないのですか?

4

1 に答える 1

2

準引用符は 2.11 で導入されました。2.10 用のコンパイラ プラグインが必要です。同じアドレスのこのセクションを参照してください。

于 2014-07-17T11:12:52.133 に答える