Я загрузил Algebird, и я хочу попробовать несколько вещей в интерпретаторе Scala, используя эту библиотеку. Как мне это достичь?
Как использовать сторонние библиотеки с помощью Scala REPL?
Ответ 1
Конечно, вы можете использовать scala -cp и управлять своими зависимостями вручную. Но это довольно утомительно, особенно если у вас несколько зависимостей.
Более гибкий подход заключается в использовании sbt для управления вашими зависимостями. Найдите библиотеку, которую вы хотите использовать на search.maven.org. Например, Algebird доступен просто в поисках алгебры. Затем создайте build.sbt, ссылаясь на эту библиотеку, введите каталог и введите sbt console. Он загрузит все ваши зависимости и запустит сеанс консоли scala со всеми зависимостями автоматически по пути к классам.
Изменение таких вещей, как версия scala или версия библиотеки, представляет собой простое изменение в файле build.sbt. Для игры вам не нужен код scala в вашем каталоге. Пустой каталог с просто build.sbt будет прекрасно работать.
Ниже приведена версия 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._"
Ответ 2
Запуск sbt console
не будет импортировать библиотеки, объявленные с областью тестирования. Чтобы использовать эти библиотеки в REPL, запустите консоль с помощью
sbt test:consoleQuick
Однако вы должны знать, что запуск консоли таким образом пропускает компиляцию ваших тестовых источников.
Источник: http://www.scala-sbt.org/0.13/docs/Howto-Scala.html
Ответ 3
Вы можете использовать переключатель scala -cp
, чтобы держать банки в пути к классам. Существуют и другие переключатели, например, -deprecation
и -unchecked
для включения различных предупреждений. Еще много можно найти с помощью scala -X...
и scala -Y...
. Вы можете узнать больше об этих переключателях с помощью scala -help
Ответ 4
Взгляните на Аммонит как альтернативу