Clojure - Dichiarazione While

Sintassi

Di seguito è riportata la sintassi di ‘while’ dichiarazione.

(while(expression)
   (do
      codeblock))

L'istruzione while viene eseguita valutando prima l'espressione della condizione (un valore booleano) e, se il risultato è vero, vengono eseguite le istruzioni nel ciclo while. Il processo viene ripetuto a partire dalla valutazione della condizione nell'istruzione while. Questo ciclo continua fino a quando la condizione non viene valutata falsa. Quando la condizione è falsa, il ciclo termina. La logica del programma continua quindi con l'istruzione immediatamente successiva all'istruzione while. Di seguito è riportata la rappresentazione schematica di questo ciclo.

Esempio

Di seguito è riportato un esempio di un'istruzione del ciclo while.

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

;; This program displays Hello World
(defn Example []
   (def x (atom 1))
   (while ( < @x 5 )
      (do
         (println @x)
         (swap! x inc))))
(Example)

Nell'esempio precedente, inizializziamo prima il valore della variabile "x" su 1. Notare che stiamo usando un valore atom, che è un valore che può essere modificato. Quindi la nostra condizione nel ciclo while è che stiamo valutando la condizione dell'espressione in modo tale che 'x' dovrebbe essere minore di 5. Finché il valore di 'x' è minore di 5, stamperemo il valore di 'x 'e quindi aumentarne il valore. L'istruzione swap viene utilizzata per popolare la variabile atom di "x" con il nuovo valore incrementato.

Produzione

Il codice precedente produce il seguente output.

1
2
3
4