Загрузить файл Scala в интерпретатор, чтобы использовать функции? - PullRequest
73 голосов
/ 12 сентября 2011

У меня есть некоторые функции Scala, определенные в файле, а не в классе, и я хотел бы использовать их в интерпретаторе Scala. Я знаю, что могу сказать scala filename.scala, чтобы просто запустить файл и выйти из интерпретатора, но я хотел бы запустить файл, а затем остаться в интерпретаторе, чтобы я мог провести некоторое тестирование. Может кто-нибудь сказать мне, как просто загрузить файл в интерпретатор, чтобы я мог использовать функции, определенные в нем?

Ответы [ 3 ]

93 голосов
/ 12 сентября 2011

введите :load /path/to/file в Scala REPL.

Полный список доступных команд можно получить, набрав :help

17 голосов
/ 11 февраля 2016

Иногда :paste может быть вашим лучшим другом (чем :load). Вот пример того, как использовать : вставить .

scala> :paste
// Entering paste mode (ctrl-D to finish)

if (true)
  print("that was true")
else
  print("false")

[Ctrl-D]

// Exiting paste mode, now interpreting.

that was true

Можно также использовать :paste для загрузки файла, используя следующую команду :paste [path]

scala> :paste ~/Desktop/repl_seeder.scala
Pasting file ~/Desktop/repl_seeder.scala...
defined object test1

scala> test1.main(Str)
my first scala program
4 голосов
/ 20 декабря 2015

Просто напоминание, поставьте полный путь.Я обнаружил проблему в Linux, выполнив следующее:

: загрузите ~ / fileName.scala

, чтобы избавиться от ошибки «Этот файл не существует», который я сделал

: загрузить /complete/path/fileName.scala

...