Clojure Loop 循環(huán)

2018-12-19 18:36 更新

'Loop循環(huán)'特殊形式不像'for'循環(huán)。 循環(huán)的用法與let綁定相同。 但是,Loop循環(huán)設(shè)置了遞歸點(diǎn)。 遞歸點(diǎn)被設(shè)計(jì)為與遞歸一起使用,這意味著Loop循環(huán)總是與遞歸一起使用。 要使循環(huán)發(fā)生,為Loop循環(huán)指定的參數(shù)(arity)的數(shù)量必須與循環(huán)的綁定數(shù)量一致。 這樣,recur回到循環(huán)。

語法

以下是循環(huán)語句的一般語法。

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

下面是這個(gè)循環(huán)的圖解表示。

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'的值打印到控制臺(tái),并使用recur語句重復(fù)循環(huán)。 在“x”的值減少2之后重復(fù)循環(huán)。

輸出

上述示例將輸出以下結(jié)果:

10
8
6
4
2

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)