Clojure - Declaração de Caso

Clojure oferece o ‘case’ declaração que é semelhante ao ‘switch’declaração disponível na linguagem de programação Java. A seguir está a forma geral da declaração do caso.

Sintaxe

case expression
value1 statement #1
value2 statement #2
valueN statement #N
statement #Default

O funcionamento geral desta declaração é o seguinte -

  • A expressão a ser avaliada é colocada na instrução 'case'. Isso geralmente será avaliado como um valor, que é usado nas instruções subsequentes.

  • Cada valor é avaliado em relação ao passado pela expressão 'case'. Dependendo de qual valor for verdadeiro, a instrução subsequente será executada.

  • Também existe uma instrução padrão que é executada se nenhum dos valores anteriores for avaliado como verdadeiro.

O diagrama a seguir mostra o fluxo da instrução 'if'.

Exemplo

A seguir está um exemplo da instrução 'case' em Clojure.

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

;; This program displays Hello World
(defn Example []
   (def x 5) 
   (case x 5 (println "x is 5")
      10 (println "x is 10")
      (println "x is neither 5 nor 10")))
(Example)

No exemplo acima, primeiro inicializamos uma variável 'x' com um valor de 5. Temos então uma instrução 'case' que avalia o valor da variável 'x'. Com base no valor da variável, ele executará o conjunto de instruções de caso relevante. A última instrução é a instrução padrão, se nenhuma das instruções anteriores for executada.

Resultado

O código acima produz a seguinte saída.

x is 5