2

私はこのチュートリアルに取り組んでいます: 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

それが「特別なフォーム」であることを理解するのにしばらく時間がかかったので、このページで説明します。

単一の首尾一貫したインデックスを持つコンパイルはありますか?

4

2 に答える 2

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

関数、マクロ、特殊なフォーム、変数など、ほとんどすべてで機能します。

于 2013-04-09T02:05:48.310 に答える
2

clojuredocs.org の検索ボックスは、開始するのに最適な場所であり、フォームと機能の非常に完全なリストを提供します。現在、Clojure Docs は clojure の最新バージョンに対応していないため、いくつかの小さな違いがあることに注意してください。実際には、公式 API ページは十分に完成しており、最新のものです。特殊な形式がすべてあるわけではありませんが、clojure には特殊な形式がほとんどないため、これが問題になることはあまりありません。

于 2013-04-09T01:46:51.160 に答える