我已经下载了 Algebird 并且想要在 Scala 解释器 中尝试使用这个库。我该怎么做呢?
我已经下载了 Algebird 并且想要在 Scala 解释器 中尝试使用这个库。我该怎么做呢?
name := "Scala Playground"
version := "1.0"
scalaVersion := "2.10.2"
libraryDependencies += "com.twitter" % "algebird-core" % "0.2.0"
编辑:当你想要使用一个库时,通常需要先导入库的命名空间。这也可以通过在build.sbt中添加以下一行来自动化处理:
initialCommands in console += "import com.twitter.algebird._"
set scalaVersion:=“2.9.0-1”
来实现“动态切换”Scala版本。我强烈推荐使用SBT来尝试使用新库。 - Giorgos Keramidassbt console
。 - Rüdiger Klaehn运行sbt console
不会导入使用测试范围声明的库。要在REPL中使用这些库,请使用以下命令启动控制台:
sbt test:consoleQuick
然而,请注意,以这种方式启动控制台会跳过编译测试源代码的步骤。
libraryDependencies ++= Seq("org.scalatest" %% "scalatest" % "3.0.5" % "test", "org.scalacheck" %% "scalacheck" % "1.14.0" % "test")
。这里没有“测试作用域”。 - Ashwin% "test"
正是告诉SBT这个依赖项仅用于测试的关键。如果您省略它,它将成为编译依赖项。 - Zoltán你可以使用scala的-cp
开关来保持类路径上的jar包。还有其他可用的开关,例如-deprecation
和-unchecked
,用于打开各种警告。还有更多的开关可以用scala -X...
和scala -Y...
找到。你可以使用scala -help
来查找更多关于这些开关的信息。
这是使用 Ammonite(而不是Scala REPL)的答案 - 但它是一个非常好的工具,值得一提。
sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L https://github.com/lihaoyi/Ammonite/releases/download/2.1.2/2.13-2.1.2) > /usr/local/bin/amm && chmod +x /usr/local/bin/amm' && amm
或在 macOS 上使用 Homebrew:
brew install ammonite-repl
对于Scala 2.10,您需要使用旧版本1.0.3:
sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L https://github.com/lihaoyi/Ammonite/releases/download/1.0.3/2.10-1.0.3) > /usr/local/bin/amm && chmod +x /usr/local/bin/amm' && amm
amm
// Displays
Loading...
Welcome to the Ammonite Repl 2.1.0 (Scala 2.12.11 Java 1.8.0_242)
import $ivy.`com.twitter::algebird-core:0.2.0`
然后,您可以在Ammonite-REPL中使用您的库:
import com.twitter.algebird._
import com.twitter.algebird.Operators._
Map(1 -> Max(2)) + Map(1 -> Max(3)) + Map(2 -> Max(4))
...