Clojure - Dichiarazione del caso

Clojure offre il ‘case’ dichiarazione che è simile a ‘switch’istruzione disponibile nel linguaggio di programmazione Java. Di seguito è riportata la forma generale della dichiarazione del caso.

Sintassi

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

Il funzionamento generale di questa affermazione è il seguente:

  • L'espressione da valutare viene inserita nell'istruzione "case". Questo generalmente restituirà un valore, che viene utilizzato nelle istruzioni successive.

  • Ogni valore viene valutato rispetto a quello passato dall'espressione "case". A seconda di quale valore è vero, verrà eseguita l'istruzione successiva.

  • C'è anche un'istruzione di default che viene eseguita se nessuno dei valori precedenti restituisce vero.

Il diagramma seguente mostra il flusso dell'istruzione "if".

Esempio

Di seguito è riportato un esempio della dichiarazione "caso" in 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)

Nell'esempio precedente, inizializziamo prima una variabile "x" con un valore di 5. Abbiamo quindi un'istruzione "case" che valuta il valore della variabile "x". In base al valore della variabile, eseguirà il set di istruzioni case pertinenti. L'ultima istruzione è l'istruzione predefinita, se nessuna delle istruzioni precedenti viene eseguita.

Produzione

Il codice precedente produce il seguente output.

x is 5