无涯教程-Clojure - 循环语句函数

61 阅读1分钟

循环的特殊形式不同于" for" 循环。循环的用法与let绑定相同,为了使循环发生,为循环指定的参数(arity)数必须与循环的绑定数一致。

Loop - 语法

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

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

以下是此循环的示意图。

Loop Statement

Loop - 示例

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

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk (defn Example [] (loop [x 10] (when (> x 1) (println x) (recur (- x 2))))) (Example)

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

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

10
8
6
4
2

参考链接

www.learnfk.com/clojure/clo…