Как я могу получить доступ к документации Scala из repl? - PullRequest
30 голосов
/ 21 июля 2011

Прежде всего для встроенных документов, а также для моего собственного кода.

В частности, я хочу получить информацию, аналогичную тому, как в python вы можете вызвать help () для метода или объекта, чтобы получитьинформация только об этом объекте напечатана в репле.

1 Ответ

21 голосов
/ 21 июля 2011

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
}

Если вы хотитеочень умный, вы можете разобрать имя, чтобы указать веб-браузеру на Javadocs для классов Java и Scaladocs для классов Scala и там, где у вас есть документация для ваших классов.Вы также, вероятно, хотите использовать локальный источник, file:///my/path/to/docs/index.html# вместо API из Интернета.Но я использовал это, чтобы вы могли попробовать

scala> viewdoc(Some(1))
...