Как повторно использовать sc-файлы Ammonite REPL в проекте sbt?

У меня есть несколько повторно используемых файлов Ammonite REPL sc, которые использовались в некоторых ноутбуках Jupyter Scala.

Теперь я создаю отдельное приложение, построенное из sbt. Я надеюсь, что смогу повторно использовать эти существующие файлы sc в проекте sbt.

Можно ли использовать эти файлы sc для проектов Jupyter Scala/Ammonite REPL и sbt? Как заставить scala исходников и sc файлов компилироваться вместе?


person Yang Bo    schedule 26.04.2017    source источник


Ответы (1)


Я создал Import.scala, подключаемый модуль компилятора Scala, который позволяет выполнять магический импорт.

С помощью Import.scala фрагменты кода из файла .sc можно загрузить в исходный файл Scala в проекте sbt с тем же синтаксисом, что и в Ammonite или Jupyter Scala:

Дан файл MyScript.sc.

// MyScript.sc
val elite = 31337

Magic импортирует его в другой файл.

import $file.MyScript

Оно работает.

assert(MyScript.elite == 31337)
person Yang Bo    schedule 05.06.2017