2013-04-09 51 views
2

我通過本教程:http://moxleystratton.com/clojure/clojure-tutorial-for-the-non-lisp-programmer的Clojure:文檔

而且遇到了這個片斷:

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中有描述。

有彙編,在那裏,有一個單一的連貫的指數?

回答

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 

它的工作原理上的功能,宏,特殊形式,變量 - 幾乎所有東西。

+3

(使用'clojure.repl)在'user'以外的命名空間中使用它 – 2013-04-09 02:11:22

2

上clojuredocs.org搜索框是一個偉大的起點開始,他們提供的形式和功能非常complete list。要知道,目前Clojure的文檔是不是最新的使用Clojure的最新版本,但這樣也有一些細微的差別。在實踐中,official api page足夠完整,最先進的日期。它不具有所有的特殊形式,雖然有Clojure中的極少數特殊形式,所以這是不是經常有問題

+0

我一直在利用clojuredocs.org的爲好。但是,例如,在那裏的搜索上找不到「for」。我想這兩個站點中至少有一個會針對任何特定的form/func/var進入。 – 2013-04-09 01:59:20

+0

clojuredocs搜索有點奇怪。 'for'不會返回for的結果,但如果您在搜索框中鍵入並等待一秒,則會看到for的條目。或者,您可以直接訪問資源,http://clojuredocs.org/clojure_core/clojure.core/for - 根據需要更換條款。 – georgek 2013-04-09 06:26:08