Clojure - Declaración de caso

Clojure ofrece la ‘case’ declaración que es similar a la ‘switch’declaración disponible en el lenguaje de programación Java. A continuación se muestra la forma general del enunciado del caso.

Sintaxis

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

El funcionamiento general de esta declaración es el siguiente:

  • La expresión a evaluar se coloca en la declaración 'case'. Esto generalmente se evaluará a un valor, que se utiliza en las declaraciones posteriores.

  • Cada valor se evalúa contra el que pasa por la expresión 'caso'. Dependiendo de qué valor sea verdadero, se ejecutará la instrucción posterior.

  • También hay una declaración predeterminada que se ejecuta si ninguno de los valores anteriores se evalúa como verdadero.

El siguiente diagrama muestra el flujo de la declaración 'if'.

Ejemplo

A continuación se muestra un ejemplo de la declaración 'case' en 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)

En el ejemplo anterior, primero estamos inicializando una variable 'x' a un valor de 5. Luego tenemos una declaración 'case' que evalúa el valor de la variable 'x'. Basado en el valor de la variable, ejecutará el conjunto de declaraciones del caso relevante. La última declaración es la declaración predeterminada, si no se ejecuta ninguna de las declaraciones anteriores.

Salida

El código anterior produce la siguiente salida.

x is 5