Clojure Loop 循环
2018-12-19 18:36 更新
'Loop循环'特殊形式不像'for'循环。 循环的用法与let绑定相同。 但是,Loop循环设置了递归点。 递归点被设计为与递归一起使用,这意味着Loop循环总是与递归一起使用。 要使循环发生,为Loop循环指定的参数(arity)的数量必须与循环的绑定数量一致。 这样,recur回到循环。
语法
以下是循环语句的一般语法。
loop [binding] (condition (statement) (recur (binding)))
下面是这个循环的图解表示。
例
以下是“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条件子句来查看'x'的值是否小于1.然后我们将'x'的值打印到控制台,并使用recur语句重复循环。 在“x”的值减少2之后重复循环。
输出
上述示例将输出以下结果:
10 8 6 4 2
以上内容是否对您有帮助:
更多建议: