什么是scala百分比运算符(%)和字符串的方法?
val scalaToolsSnapshots = "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
val specs = "org.scala-tools.testing" % "specs_2.9.0-1" % "1.6.8" % "test"
这是什么意思?什么是scala百分比运算符(%)和字符串的方法?
您还可以使用以下简化此声明:
scalaVersion := "2.9.0-1"
scalaToolsSnapshots := "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
specs := "org.scala-tools.testing" %% "specs" % "1.6.8" % "test"
%%
将指定SBT使用规范版本是二进制与您的项目斯卡拉版本兼容。
您应该考虑使用它,特别是如果您计划升级scala版本或者如果您计划发布针对多个scala版本的库。
引擎盖下,第一字符串被隐式转换为GroupID
%%
与方法,其下一个字符串转换为GroupArtifactId
,以下%
创建ModuleID
和最后%
增加了一个范围到ModuleID
。
即sbt(简单构建工具)定义项目管理依赖关系的DSL。
格式相当simular到maven:第一行说在哪里可以找到库,第二行定义像"groupId" % "artifactId" % "version" % "scope"
详情依赖看看sbt wiki page(部分管理依赖)
感谢链接到sbt wiki页面。我在入门指南中没有看到这一点 – MetaChrome
帮助我理解这里发生了什么的关键词是DSL。我在Scala本身寻找'%'字符串运算符,直到我在这里偶然发现。上面链接的sbt维基描述了'%'的作用[在这里](http://www.scala-sbt.org/0.13/docs/Library-Dependencies.html#The++key)。具体来说,*“'''方法从字符串中创建'ModuleID'对象,然后将这些'ModuleID'添加到'libraryDependencies'。”* – kdbanman
这确实是SBT (简单的构建工具)。
'at'方法在字符串上定义并返回一个Resolver。 '%'方法在字符串上定义,并返回一个ModuleID。
[str%str在SBT中意味着什么?]可能的重复(http://*.com/questions/5267127/what-does-str-str-mean-in-the-sbt) –