Clojure:文档

时间:2013-04-09 01:41:55

标签: clojure

我正在完成本教程:http://moxleystratton.com/clojure/clojure-tutorial-for-the-non-lisp-programmer

并且遇到了这个片段:

user=> (loop [i 0]
  (when (< i 5)
    (println "i:" i)
    (recur (inc i))))
i: 0
i: 1
i: 2
i: 3
i: 4
nil

对我的翻译很有用!

❯ lein repl
nREPL server started on port 50974
REPL-y 0.1.10
Clojure 1.5.1

现在我正在寻找关于recur是什么的一些文档。

它不在这里! http://clojure.github.io/clojure/api-index.html

我花了一段时间才发现它是“特殊形式”,因此在this page中有所描述。

那里有一个具有单一连贯索引的编译吗?

2 个答案:

答案 0 :(得分:8)

尝试使用REPL中的内置文档:

user=> (doc recur)
-------------------------
recur
  (recur exprs*)
Special Form
  Evaluates the exprs in order, then, in parallel, rebinds
  the bindings of the recursion point to the values of the exprs.
  Execution then jumps back to the recursion point, a loop or fn method.

  Please see http://clojure.org/special_forms#recur

它适用于函数,宏,特殊形式,变量 - 几乎所有东西。

答案 1 :(得分:2)

clojuredocs.org上的搜索框是一个很好的起点,它们提供了非常complete list的表单和功能。请注意,目前Clojure Docs与最新版本的clojure不同,但存在一些细微差别。在实践中,official api page足够完整且最新。它没有所有的特殊形式,虽然在clojure中很少有特殊形式,所以这通常不是问题