it-swarm.com.ru

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

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

67
Harshal Kshatriya

Конечно, вы можете использовать scala -cp как угодно и вручную управлять своими зависимостями. Но это становится довольно утомительным, особенно если у вас есть несколько зависимостей.

Более гибкий подход заключается в использовании sbt для управления вашими зависимостями. Найдите библиотеку, которую хотите использовать на search.maven.org . Algebird, например, доступен просто поиск algebird . Затем создайте build.sbt со ссылкой на эту библиотеку, введите каталог и введите консоль sbt . Он загрузит все ваши зависимости и запустит консольный сеанс scala со всеми зависимостями автоматически на пути к классам.

Изменение таких параметров, как версия scala или версия библиотеки, является простым изменением в build.sbt. Чтобы поиграть, вам не нужен scala код в вашем каталоге. Пустой каталог только с build.sbt подойдет.

Вот build.sbt для использования algebird:

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._"
98
Rüdiger Klaehn

Запуск sbt console не приведет к импорту библиотек, объявленных с областью тестирования. Чтобы использовать эти библиотеки в REPL, запустите консоль с

sbt test:consoleQuick

Однако вы должны знать, что запуск консоли таким образом пропускает компиляцию ваших тестовых исходников.

Источник: http://www.scala-sbt.org/0.13/docs/Howto-Scala.html

11
Zoltán

Вы можете использовать переключатель -cp в scala, чтобы сохранить файлы jar на пути к классам. Также доступны другие переключатели, например, -deprecation и -unchecked для включения различных предупреждений. Еще много можно найти с scala -X... и scala -Y.... Вы можете узнать больше информации об этих ключах с помощью scala -help

6
S.R.I