2011-07-20 7 views
28

Her şeyden önce yerleşik dokümanlar için ve kendi kodum için.Scala belgelerine repl'den nasıl erişirim?

Özellikle, python'a nasıl benzeyebileceğine benzer bir bilgi almak istiyorum. Bu yöntem, repl'e yazdırılan nesne hakkında bilgi almak için bir yöntemde veya nesnede help() yöntemini çağırabilir.

+0

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

+2

Bu soru ayrıca bkz deneyebilirsiniz böylece Ama * Bu kullanılan * Soru 4160745 tam bir kopyası değildir. Scala REPL komut satırı değil ilgili bir soru. – paradigmatic

cevap

21

Scaladocs HTML olarak üretildiğinden, bunların REPL penceresinde görünmesini istemezsiniz. Bununla birlikte, dokümanları bir tarayıcıya REPL'den yüklemek isteyebilirsiniz.

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 
} 

ekstra-zeki almak istiyorsanız,:; (eğer isterseniz bunu yerine Class[A] bir örneğini almak olabilir bu bir örneğini alır) Çok gibi kendi yöntemini oluşturarak bunu yapabilir java sınıfları için Javadocs'ta ve Scala sınıfları için Scaladocs'ta ve sınıflarınız için belgelerinizin olduğu her yerde web tarayıcısını işaret etmek için adı ayrıştırabilirsiniz. Ayrıca, web'den API yerine yerel bir kaynak, file:///my/path/to/docs/index.html# kullanmak isteyebilirsiniz. Eğer

scala> viewdoc(Some(1)) 
+1

Sadece kısa bir not: 'firefox' yolunda olmalı ve bir Windows kutusuna' .exe' eklemeniz gerekiyor. –

+1

@ michael.kebe - Evet, ve firefox kurulu olmalı ya da komut satırından başka bir web tarayıcısı kullanmalısınız. :) –

+0

Bu harika, ama tam olarak aradığım şey değil - Sorumu güncelledim daha fazla detay ile. –