语法糖<< =在Scala中是什么意思?

用户名

我看到声明了变量

lazy val liquibase = TaskKey[Liquibase]("liquibase", "liquibase object")

然后我在下面看到这个

liquibase <<= ( liquibaseChangelog, liquibaseDatabase ) map {
    ( cLog :String, dBase :Database ) =>
      new Liquibase( cLog, new FileSystemResourceAccessor, dBase )
  }

看起来好像它向TaskKey?中添加了功能

om-name-name

在Scala中,它没有任何意义,它是sbt定义的DSL

在您的情况下,它的作用是liquibase根据分配给liquibaseChangelog的值进行定义liquibaseDatabase,因此增加了对它们的依赖。有关更多详细信息,请参见“基于其他键的值计算值”


此外,从sbt 0.13开始,您可以使用更好,更清晰的方式编写此代码:

liquibase := {
  val fs = new FileSystemResourceAccessor
  new Liquibase(liquibaseChangelog.value, fs, liquibaseDatabase.value)
}

作为旁注,您可能会发现SymbolHound很方便-这是一个搜索引擎,它尊重特殊字符,例如<<=

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章