我的意思是像:t
:type
这样的命令来检查表达式的类型或任何其他类型的命令。
炸药背后的想法真的吸引了我,现在我正试图用它来更熟悉scala。
这些命令对我的初学者很有帮助,但是在amm shell中是语法错误。
我已经浏览了ammonite.io的文档,但是找不到提到的任何相关内容。
是否有可能在ammonite shell / repl中运行这些命令?
答案 0 :(得分:4)
您不能在Ammonite中运行Scala REPL命令,因为它们是Scala REPL命令,而不是Ammonite命令。
Ammonite是与Scala REPL完全不同的程序,其命令语言不同。这就像试图在JavaScript REPL中运行Haskell代码一样。
特别是,Ammonite宁愿使用Scala而不是使用单独的魔术命令语言,因此在Ammonite中,向REPL发出的命令是作为普通Scala方法调用发出的。
默认情况下,导入了两个对象repl
和interp
,它们使您可以与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())