Clojure - cond語句



Clojure 提供了另一個稱為‘cond’ 的求值語句。此語句採用一組測試/表示式對。它一次評估一個測試。如果測試返回邏輯真值,則 ‘cond’ 會評估並返回對應表示式的值,並且不會評估任何其他測試或表示式。 ‘cond’ 返回 nil。

語法

以下是此語句的通用形式。

cond
(expression evaluation1) statement #1
(expression evaluation2) statement #2
(expression evaluationN) statement #N
:else statement #Default

此語句的總體工作原理如下:

  • 定義了多個表示式求值,並且每個表示式都有一個將被執行的語句。

  • 還有一個預設語句,如果之前的任何值均未求值為真,則會執行此語句。這由 :else 語句定義。

示例

以下是 Clojure 中 ‘cond’ 語句的示例。

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

;; This program displays Hello World
(defn Example []
   (def x 5)
   (cond
      (= x 5) (println "x is 5")
      (= x 10)(println "x is 10")
      :else (println "x is not defined")))
(Example)

在上面的示例中,我們首先將變數 x 初始化為值 5。然後我們有一個 ‘cond’ 語句,它會評估變數 ‘x’ 的值。根據變數的值,它將執行相關的語句集。

輸出

以上程式碼產生以下輸出。

x is 5
clojure_decision_making.htm
廣告