Как запустить команды Scala REPL в аммоните REPL / SHELL? - PullRequest
0 голосов
/ 26 сентября 2018

Я имею в виду такие команды, как :t :type для проверки типа выражений или любых других видов команд.

Идея аммонита действительно привлекает меня, и теперь я пытаюсь использовать ее, чтобы поближе познакомиться со scala.

Эти команды полезны для меня, как для новичка, но представляют собой синтаксические ошибки вAMM Shell.

Я просмотрел документацию по аммониту.io, но не могу найти ничего упомянутого.

Возможно ли запускать команды такого типа в аммонитовой оболочке / repl?

1 Ответ

0 голосов
/ 26 сентября 2018

Вы не можете запускать команды Scala REPL в Ammonite, поскольку они являются командами Scala REPL, а не командами Ammonite.

Ammonite - это программа, совершенно отличная от Scala REPL, язык ее команд отличается.Это похоже на попытку запустить код на Haskell в JavaScript REPL.

В частности, Ammonite предпочитает использовать Scala вместо магического отдельного языка команд, поэтому в Ammonite команды для REPL выдаются как обычные вызовы методов Scala.

Есть два объекта, которые импортируются по умолчанию, repl и interp, которые позволяют вам взаимодействовать с API REPL и интерпретатором .Например, для вопроса о том, как получить тип объекта, вы должны использовать метод ReplAPI.typeOf[T: WeakTypeTag](t: => T): Type:

repl.typeOf("3" + 2)
//=> res: reflect.runtime.package.universe.Type = TypeRef(ThisType(package lang), class String, List())
...