scala - 如何通过 Scala REPL 使用第三方库?

标签 scala interpreter read-eval-print-loop

我已经下载了Algebird,我想使用这个库在Scala 解释器中尝试一些东西。我该如何实现这一目标?

最佳答案

当然,您可以使用 scala -cp 无论如何并手动管理您的依赖项。但这变得非常乏味,特别是如果您有多个依赖项。

更灵活的方法是使用 sbt管理您的依赖项。在 search.maven.org 上搜索您要使用的库。例如,Algebird 只需通过 searching for algebird 即可获得。 。然后创建一个引用该库的build.sbt,进入该目录并进入sbt console。它将下载所有依赖项并在类路径上自动启动包含所有依赖项的 scala 控制台 session 。

更改 scala 版本或库版本等内容只是 build.sbt 中的简单更改。要玩转您的目录中不需要任何 scala 代码。仅包含 build.sbt 的空目录就可以了。

这是使用 algebird 的 build.sbt:

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._"

关于scala - 如何通过 Scala REPL 使用第三方库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18812399/

相关文章:

python - while True 还是 while 1?

java - 如何在 LISP 解释器中实现闭包

xcode - Swift 2.0 REPL - 自动导入时出错

json - 如何使用 json4s 从 akka-http 响应实体读取 json 响应

scala - Akka actor pipeline和拥塞store actor

scala - 如何使用字符串func startsWith检查字符串列表而不是一个?

scala - Play 应用程序中使用的 SBT 覆盖范围 "exclude"

python - python 解释器会重用结果以提高效率吗?

scala - 在 REPL 中除以零时省略了哪些 28 帧?

clojure - 如何将 Clojure REPL 的内容转储到文件中?