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