获取Clojure库的API文档

时间:2012-08-15 06:41:25

标签: api clojure documentation libraries

我是Clojure的新手,我想知道所有文档的位置 对于所有库,例如clojars.org上的库?

例如使用lein我对project.clj执行以下操作

(defproject Program-name "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]
   [facts/speech-synthesis "1.0.0"]
[org.clojars.jeffsigmon/maryclient "4.3.0"]
[speech-synthesis "1.0.0"]
[clarity "0.5.6"]])

然后使用lein deps安装所有库

Core.clj

(ns Program-name.core
(:use [speech-synthesis.say :as say])(use [clarity.component]))
(use 'clarity.form)

那么我如何导入并获取org.clojars.jeffsigmon / maryclient的API信息?

  

注意:我读到API文档存储在   库,您必须导入它们才能访问它

2 个答案:

答案 0 :(得分:3)

API文档以docstrings

的形式出现在代码中

e.g。

(defn my-func
 "This is the doc string"
 [a b c]
   ...)

您可以访问REPL中的doc字符串:

$ lein repl
user> (doc println)
-------------------------
clojure.core/println
([& more])
  Same as print followed by (newline)

user> (apropos "print")
(*print-radix* *print-miser-width* *print-pprint-dispatch* print-table 
  print-length-loop pprint-indent pprint *print-suppress-namespaces* 
  *print-right-margin* *print-pretty* with-pprint-dispatch ...)

user> (find-doc "print")
... lots of functions related to print with docs...

各种IDE也可以访问文档。例如在emacs中,使用swank,您可以使用通过快捷方式slime-describe-symbol

访问的C-c C-d d

答案 1 :(得分:2)

在REPL上使用docfind-docapropos功能,使用lein repl启动代理。
顺便说一句:如果库jar不包含.clj文件,则不能使用它们。