0

在本教程中,您可以找到 Scala-Meta 的 2 个版本。

lazy val MetaVersion = "3.7.2"
lazy val MetaVersion1 = "1.8.0"

我有点困惑,因为他们似乎指的是同一个项目:

lazy val scalameta1 = "org.scalameta" %% "scalameta" % MetaVersion1
lazy val scalameta = "org.scalameta" %% "scalameta" % MetaVersion

有人可以指出其中的区别,以及何时使用其中的哪一个?

教程只提到,"3.7.2"但我得到了例外

ERROR: new-style ("inline") macros require scala.meta

在这里解释:new-style-inline-macros-require-scala-meta

4

1 回答 1

1

3.7.2 是当前版本的 scalameta(实际上已经是 3.7.4)。

1.8.0 是 scalameta 的最后一个版本,它通过 scalameta Paradise 编译器插件 ( 1 2 3 ) 使用 scalameta 宏注释。

因此,如果您需要最新版本的 scalameta,请使用 3.7.4。如果您需要 scalameta 宏,请使用 1.8.0。

于 2018-06-30T08:51:49.560 回答