Clojure Loop 循环

2018-12-19 18:36 更新

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

语法

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

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

下面是这个循环的图解表示。

Loop Statement

以下是“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

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号