2011-07-20 14 views
28

Przede wszystkim za wbudowane dokumenty, a także za mój własny kod.Jak uzyskać dostęp do dokumentacji scala z rep?

W szczególności chcę uzyskać informacje podobne do tego, jak w pythonie można wywołać help() na metodzie lub obiekcie, aby uzyskać informacje o tym obiekcie wydrukowanym w repl.

+0

zobaczyć również http://stackoverflow.com/questions/4160745/is-there-a-command-line-program-to-lookup-scaladoc –

+2

to pytanie * nie jest * dokładnym duplikatem pytania 4160745. Jest to pytanie dotyczące linii poleceń Scala REPL. – paradigmatic

Odpowiedz

21

Scaladoki są generowane jako HTML, więc nie chcesz, aby pojawiały się w oknie REPL. Możesz jednak załadować dokumenty w przeglądarce z REPL. Można to zrobić, tworząc swoją własną metodę jak tak (ta trwa instancji; można mieć potrwać wystąpienie Class[A] zamiast, jeśli wolisz):

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 
} 

Jeśli chcesz uzyskać wyjątkowo sprytny, możesz sparsować nazwę, aby wskazać przeglądarkę w Javadocs dla klas java i Scaladocs dla klas Scala i gdziekolwiek masz swoją dokumentację dla twoich zajęć. Prawdopodobnie chcesz też użyć lokalnego źródła, file:///my/path/to/docs/index.html# zamiast interfejsu API z internetu. Ale kiedyś to tak można wypróbować

scala> viewdoc(Some(1)) 
+1

Krótka notka: 'firefox' musi znajdować się na ścieżce i musisz dodać' .exe' na pudełku Windows. –

+1

@ michael.kebe - Tak, i musisz mieć zainstalowany firefox, lub użyć innej przeglądarki z linii poleceń, itp. :) –

+0

To jest fajne, ale tak naprawdę nie to, czego szukałem - zaktualizowałem swoje pytanie z większą ilością szczegółów. –

Powiązane problemy