Clojure - Declaração de Cond
Clojure oferece outra declaração de avaliação chamada de ‘cond’declaração. Esta instrução leva um conjunto de pares de teste / expressão. Ele avalia cada teste um de cada vez. Se um teste retornar lógico verdadeiro, 'cond' avalia e retorna o valor da expressão correspondente e não avalia nenhum dos outros testes ou expressões. 'cond' retorna nulo.
Sintaxe
A seguir está a forma geral desta declaração.
cond
(expression evaluation1) statement #1
(expression evaluation2) statement #2
(expression evaluationN) statement #N
:else statement #Default
O funcionamento geral desta declaração é o seguinte -
Existem várias avaliações de expressão definidas e para cada uma há uma instrução que é executada.
Há também uma instrução padrão, que é executada se nenhum dos valores anteriores for avaliado como verdadeiro. Isso é definido pela instrução: else.
Exemplo
A seguir está um exemplo da declaração 'cond' em 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)
No exemplo acima, estamos inicializando primeiro uma variável x com um valor de 5. Temos então uma instrução 'cond' que avalia o valor da variável 'x'. Com base no valor da variável, ele executará o conjunto relevante de instruções.
Resultado
O código acima produz a seguinte saída.
x is 5