scala - 如何从repl访问scala文档?

标签 scala read-eval-print-loop

首先是内置文档,也是我自己的代码。

具体来说,我想获取类似于在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
}

如果您想获得更多的知识,可以解析名称,以将Web浏览器指向Java类的Javadocs和Scala类的Scaladocs以及任何您有类文档的地方。您可能还想使用本地来源file:///my/path/to/docs/index.html#而非网络上的API。但是我用了这个,所以你可以尝试一下
scala> viewdoc(Some(1))

关于scala - 如何从repl访问scala文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6768445/

相关文章:

java - scala REPL 在 Vista 上速度很慢

json - Akka http 处理程序 json 验证

java - 尝试将 HashMap 转换为 scala ListMap

java - Play Framework - 在开发模式下自动重新编译期间出现 NullPointerException

scala - Scala REPL的制表符补全在这里告诉我什么?

swift - Swift REPL 中的变量声明必须有初始值

shell - 如何在 common lisp 中导航文件系统

scala - 如何解决 sbt 中的依赖问题

scala - 无法在 SBT 0.12.3 中为运行和打包 jar 指定主类

scala - 当运行“.scala”程序时,Scala运行时/REPL背后到底发生了什么?