“str”是什么意思? %“str” SBT 是什么意思?

发布于 2024-10-21 05:12:43 字数 306 浏览 8 评论 0原文

我遇到了这段代码:

import sbt._ 

class AProject(info: ProjectInfo) extends DefaultProject(info) { 
  val scalaToolsSnapshots = ScalaToolsSnapshots
  val scalatest = "org.scalatest" % "scalatest" %
    "1.0.1-for-scala-2.8.0.RC1-SNAPSHOT"
}

我对 scalatest 包含的内容以及 % 的作用感到非常困惑。

I came across this code:

import sbt._ 

class AProject(info: ProjectInfo) extends DefaultProject(info) { 
  val scalaToolsSnapshots = ScalaToolsSnapshots
  val scalatest = "org.scalatest" % "scalatest" %
    "1.0.1-for-scala-2.8.0.RC1-SNAPSHOT"
}

And I'm quite confused as to what scalatest contains, and what the % does.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

酒中人 2024-10-28 05:12:43

它声明了一个依赖关系。特别

val scalatest = "org.scalatest" % "scalatest" % "1.0.1-for-scala-2.8.0.RC1-SNAPSHOT

找到的依赖项

是指可以在http://scala-tools.org/repo-snapshots/org/scalatest/scalatest/1.0.1-for-scala-2.8.0.RC1-SNAPSHOT/

其中 org 之前的所有内容都指的是存储库,它是在其他地方(预)定义的。

找到在 String 上启用 % 的隐式并不容易,但是,为了记录,它是在 ManagedProject 上找到的,将 % 转换为 < code>String 转换为 GroupID。在同一个特征中,还有另一个隐式启用 at 方法。

无论如何,隐式会将第一个 String 转换为 GroupID,第一个 % 将采用 String表示工件 ID 并返回一个 GroupArtifactID,第二个将采用一个 String 表示修订并返回一个 ModuleID,这就是最终得到的分配给 scalatest。

It declares a dependency. In particular,

val scalatest = "org.scalatest" % "scalatest" % "1.0.1-for-scala-2.8.0.RC1-SNAPSHOT

refers to a dependency which can be found at

http://scala-tools.org/repo-snapshots/org/scalatest/scalatest/1.0.1-for-scala-2.8.0.RC1-SNAPSHOT/

Where everything before org refers to the repository, which is (pre-)defined elsewhere.

It is not easy to find the implicit that enables % on String, but, for the record, it is found on ManagedProject, converting a String into a GroupID. In the same trait there's also another implicit which enables the at method.

At any rate, the implicit will turn the first String into a GroupID, the first % will take a String representing the artifact ID and return a GroupArtifactID, and the second will take a String representing the revision and return a ModuleID, which is what finally gets assigned to scalatest.

画骨成沙 2024-10-28 05:12:43

如果您使用 Maven,这本质上是相同的事情,只不过是使用 Scala DSL。 % 作为分隔符:

<dependency>
      <groupId>org.scalatest</groupId>
      <artifactId>scalatest</artifactId>
      <version>1.0.1-for-scala-2.8.0.RC1-SNAPSHOT</version>      
</dependency>

阅读更多:
http://code.google.com/p/simple-build-tool /wiki/图书馆管理

If you used Maven this is essentially the same thing but with Scala DSL. % works as a separator:

<dependency>
      <groupId>org.scalatest</groupId>
      <artifactId>scalatest</artifactId>
      <version>1.0.1-for-scala-2.8.0.RC1-SNAPSHOT</version>      
</dependency>

Read more:
http://code.google.com/p/simple-build-tool/wiki/LibraryManagement

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文