如何在Scala中使用包?

时间:2015-05-21 00:20:58

标签: scala

我目前正在学习Scala,并发现this awesome framework称为Squants,可以完成转换等各种很酷的事情。问题是:我不知道如何使用它。

我来自ruby gems和节点包的背景,所以我希望Scala有类似的方面。

documentation我发现并没有多大帮助,所以我开始搜索不同的术语。我发现这个Stack Overflow question用一个名为" sbt"的东西解决了这个问题。我已经知道如何使用scalac编译文件并使用scala运行它们,所以在我进行一些研究之前,我对sbt的内容感到有些困惑。我尝试按照说明将libraryDependencies替换为"com.squants" %% "squants" % "0.4.2",但这只是在sbt控制台中引发了大量错误。最终,我希望包使用我的代码,而不是在控制台中。

然后我在名为Sonatype的网站上找到了该框架。我从这个网站下载了一个jar文件,但我不确定如何在Scala中使用jar文件(如果可能的话?)。搜索此内容会显示一些not-so-beginner-friendly结果。

作为参考,这是我用来测试包的scala文件:

import com.squants._

object HelloSquants {
    def main(args: Array[String]): Unit = {
        val x: Power = Kilowatts(12)
        val y: Power = Megawatts(0.023)
        val sum = x + y
        println(x + " plus " + y + " equals " + sum)
    }
}

在Scala中使用此软件包的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

很多问题。

首先,你有点困惑的条款。 是代码的名称空间。你可以写一些代码

package foo {
  class Apple...
}

package bar {
  class Apple...
}

然后,根据您要使用的Apple类,您可以导入foo.Apple或bar.Apple。 Foo和bar是包......你真的不是指包。

Sbt是一个必须要学习的邪恶。 Scala项目变得越来越大,你会引入一堆。我想当你说时,你的意思是

所以是的,请遵循一些简单的SBT教程......一个好的起点是http://www.scala-sbt.org/release/tutorial/

添加

"com.squants"  %% "squants"  % "0.4.2"

你的build.sbt是正确的,它会下载squants库,并将它包含在你的编译路径中。但是,它不会自动将其添加到您的运行路径。为此,我建议你在想法https://www.jetbrains.com/idea/中编码,这样它就会看到你的build.sbt文件,并为你的类路径添加正确的东西..然后你应该能够右键单击并运行你的代码