如何 运行 在 ammonite REPL/SHELL 中使用 Scala REPL 命令?

How to run Scala REPL commands in ammonite REPL/SHELL?

我的意思是像 :t :type 这样的命令来检查表达式的类型或任何其他类型的命令。

ammonite 背后的想法真的很吸引我,现在我正在尝试使用它来更加熟悉 scala。

这些命令对我这个初学者很有帮助,但在 amm shell 中是语法错误。

我已经浏览了 ammonite.io 的文档,但找不到任何相关的提及。

是否可以在菊石 shell/repl 中 运行 这些命令?

你不能在 Ammonite 中 运行 Scala REPL 命令,因为它们是 Scala REPL 命令,而不是 Ammonite 命令。

Ammonite 是一个与 Scala REPL 完全不同的程序,它的命令语言不同。这就像在 JavaScript REPL 中尝试 运行 Haskell 代码。

特别是,Ammonite 更喜欢使用 Scala 而不是一种神奇的独立命令语言,因此在 Ammonite 中,REPL 的命令作为正常的 Scala 方法调用发出。

有两个默认导入的对象,replinterp,它们允许您与 API of the REPL and the interpreter 进行交互。例如,对于有关如何获取对象类型的问题,您将使用 ReplAPI.typeOf[T: WeakTypeTag](t: => T): Type 方法:

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