目录

Loop 声明

循环特殊形式不像'for'循环。 循环的用法与let绑定相同。 但是,循环设置递归点。 递归点旨在与recur一起使用,这意味着循环始终与recur一起使用。 要发生循环,为recurs指定的参数(arity)的数量必须与循环的绑定数一致。 这样,recur就会回到循环中。

语法 (Syntax)

以下是循环语句的一般语法。

loop [binding]
(condition
   (statement)
   (recur (binding)))

以下是此循环的图解表示。

循环声明

例子 (Example)

以下是'for-in'语句的示例。

(ns clojure.examples.hello
   (:gen-class))
;; This program displays Hello World
(defn Example []
   (loop [x 10]
      (when (> x 1)
         (println x)
         (recur (- x 2))))) 
(Example)

在上面的例子中,我们首先使用loop语句将'x'的值绑定到10。 然后我们使用when condition clause来查看'x'的值是否小于1.然后我们将'x'的值打印到控制台并使用recur语句重复循环。 在'x'的值减2后重复循环。

输出 (Output)

上面的代码产生以下输出。

10
8
6
4
2
↑回到顶部↑
WIKI教程 @2018