Clojure - Déclaration Cond

Clojure propose une autre déclaration d'évaluation appelée ‘cond’déclaration. Cette instruction prend un ensemble de paires test / expression. Il évalue chaque test un par un. Si un test renvoie une valeur logique vraie, 'cond' évalue et renvoie la valeur de l'expression correspondante et n'évalue aucun des autres tests ou expressions. 'cond' renvoie nul.

Syntaxe

Voici la forme générale de cette déclaration.

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

Le fonctionnement général de cette déclaration est le suivant -

  • Il y a plusieurs évaluations d'expression définies et pour chacune il y a une instruction qui est exécutée.

  • Il existe également une instruction par défaut, qui est exécutée si aucune des valeurs précédentes n'est évaluée comme vraie. Ceci est défini par l'instruction: else.

Exemple

Voici un exemple de l'instruction 'cond' dans Clojure.

(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)

Dans l'exemple ci-dessus, nous initialisons d'abord une variable x à une valeur de 5. Nous avons alors une instruction «cond» qui évalue la valeur de la variable «x». En fonction de la valeur de la variable, il exécutera l'ensemble d'instructions approprié.

Production

Le code ci-dessus produit la sortie suivante.

x is 5