How do I access scala documentation from the repl?

前端 未结 1 1668
时光说笑
时光说笑 2020-12-23 20:56

First of all for the built in docs, and also for my own code.

Specifically, I want to get information similar to how in python you can call help() on a method or obj

相关标签:
1条回答
  • 2020-12-23 21:53

    Scaladocs are generated as HTML, so you don't want them appearing in the REPL window. You might want to load docs in a browser from the REPL, however. You can do that by creating your own method like so (this one takes an instance; you could have it take an instance of Class[A] instead, if you prefer):

    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
    }
    

    If you want to get extra-clever, you could parse the name to point the web browser at Javadocs for java classes and Scaladocs for Scala classes and wherever you have your documentation for your classes. You also probably want to use a local source, file:///my/path/to/docs/index.html# instead of the API from the web. But I used this so you can try out

    scala> viewdoc(Some(1))
    
    0 讨论(0)
提交回复
热议问题