首先是针对内置文档,还有我的代码。
具体来说,我希望能够获取类似于在 Python 中调用 help() 方法或对象以获取有关该对象的信息并打印到 REPL 中的信息。
首先是针对内置文档,还有我的代码。
具体来说,我希望能够获取类似于在 Python 中调用 help() 方法或对象以获取有关该对象的信息并打印到 REPL 中的信息。
Scaladocs 生成的是 HTML 格式,因此您不希望它们出现在 REPL 窗口中。但是您可能希望从 REPL 加载文档到浏览器中。为此,您可以创建自己的方法,比如这个(这个方法需要传入一个实例;如果更喜欢,您也可以传入 Class[A]
的实例):
def viewdoc[A](a: A) {
val name = a.asInstanceOf[AnyRef].getClass.getName
val url = "http://www.scala-lang.org/api/current/index.html#"+name
val pb = new ProcessBuilder("firefox",url)
val p = pb.start
p.waitFor
}
如果你想更加聪明,你可以解析名称来指向 Java 类的 Javadocs 和 Scala 类的 Scaladocs 以及你的类文档在哪里。你还可能想使用本地源file:///my/path/to/docs/index.html#
而不是Web上的API。但我使用了这个,所以你可以尝试一下。
scala> viewdoc(Some(1))
firefox
必须在路径中,并且在 Windows 系统上必须添加 .exe
。 - michael.kebeProcessBuilder
命令来启动Google Chrome
,请使用以下命令:val pb = new ProcessBuilder("open", "-a", "Google Chrome", url)
- Hanxue