2011-07-20 8 views
28

まず最初にビルドされたドキュメントと自分のコードです。replからscalaのドキュメントにアクセスするにはどうすればよいですか?

具体的には、pythonでメソッドやオブジェクトに対してhelp()を呼び出して、replに出力されたオブジェクトだけの情報を取得する方法と似た情報を得たいと思います。

+0

がhttp://stackoverflow.com/questions/4160745/is-there-a-command-line-program-to-lookup-scaladoc –

+2

もこの質問を見る試すことができるので、しかし、私はこれを使用しました*質問4160745の正確な複製ではありません。コマンドラインではなくScala REPLに関する質問です。 – paradigmatic

答えて

21

ScaladocsはHTMLとして生成されるため、REPLウィンドウに表示させたくありません。ただし、ブラウザでREPLからドキュメントをロードすることもできます。

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 
} 

あなたは余分な巧妙な取得したい場合は、:;(あなたが好むなら、それは、代わりにClass[A]のインスタンスを取るかもしれないこの1つはインスタンスを取る)あなたはそうのような独自のメソッドを作成することによって、それを行うことができますJavadocのWebブラウザでJavaクラスを、ScaladocsでScalaクラスを指すように名前を解析することができます。 WebのAPIではなく、ローカルソースfile:///my/path/to/docs/index.html#を使用することもできます。あなたは*

scala> viewdoc(Some(1)) 
+1

ちょっとした注意: 'firefox'がパスに入っていなければならないので、Windowsのボックスに' .exe'を追加する必要があります。 –

+1

@ michael.kebe - はい、firefoxをインストールしておくか、コマンドラインなどから別のWebブラウザを使用する必要があります:) –

+0

これはクールですが、私が探していたものではありません。より詳細に。 –

関連する問題