我目前正在学习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中使用此软件包的正确方法是什么?
答案 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文件,并为你的类路径添加正确的东西..然后你应该能够右键单击并运行你的代码