Подтвердить что ты не робот

Как использовать сторонние библиотеки с помощью Scala REPL?

Я загрузил Algebird, и я хочу попробовать несколько вещей в интерпретаторе Scala, используя эту библиотеку. Как мне это достичь?

4b9b3361

Ответ 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

Взгляните на Аммонит как альтернативу