Существует ли версия Scala .irbrc или другого способа определить некоторые библиотеки по умолчанию для использования REPL?

Я записал немного библиотеки, которая использует implicits для добавления функциональности что единственные потребности при использовании REPL в Scala. Ruby имеет библиотеки как это - для вещей как симпатичная печать, разжигая текстовые редакторы (как interactive_editor драгоценный камень, который вызывает Vim от irb - см. это сообщение), отладчики и т.п.. Библиотека, которую я пытаюсь записать, добавляет некоторые методы к java.lang. Класс и java.lang.reflect классы с помощью 'сутенера моя библиотека' неявный процесс преобразования, чтобы помочь Вам пойти и находят документацию (первоначально, с Google, затем позже возможно со средством просмотра JavaDoc/ScalaDoc и возможно StackOverflow API в конечном счете!). Это - царапающая зуд библиотека: Я провожу так много времени, копируя и вставляя имена классов в Google, что я полагал, что могу также автоматизировать процесс.

Это - вид функциональности, которую разработчики захотят добавить к своей системе для использования только в REPL - они не должны действительно добавлять его к проектам (частично, потому что это не может быть что-то, что их поддерживающие разработчики хотят, но также и потому что при выполнении некоторой экспериментальной разработки это может быть только с Scala REPL, это не вызывается IDE или инструментом сборки).

В моем случае я хочу включать несколько классов и настроить некоторый implicits - включают .jar в ПУТЬ К КЛАССУ и импортируют его, в основном.

В Ruby это - вид вещи, которую Вы добавили бы к своему .irbrc файлу. Другие REPLs имеют похожие способы установить опции и импортировать библиотеки.

Существует ли подобный файл или способ сделать это для Scala REPL?

6
задан Tom Morris 14 June 2010 в 20:17
поделиться

2 ответа

Быстрый ответ, возможно, не то, что вы ищете, но как насчет ввода

:load path/to/some/scala/script/file.scala

в консоли?

:load прочитает файл scala и выполнит его как скрипт.

Другой вариант - использовать sbt установить зависимости и выполнить консольную команду.

Последний вариант, о котором я могу думать, это установить classpath в командной строке вручную и указать его на папки с банками / файлами классов, о которых вы хотите, чтобы jvm знал.

Дайте мне знать, если что-то из этого вас заинтересовало, и я смогу предоставить больше деталей, если потребуется.

1
ответ дан 17 December 2019 в 07:00
поделиться

В командной строке вы можете использовать параметр -i для загрузки файла при запуске REPL:

scala -cp mystuff.jar -i mydefs.scala

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

(я использую Scala 2.8.0 RC3).

2
ответ дан 17 December 2019 в 07:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: