Clojure - scambio di atomi!
Sostituisce atomicamente il valore dell'atomo con uno nuovo basato su una particolare funzione.
Sintassi
Di seguito è riportata la sintassi.
(swap! atom-name function)Parameters- 'atom-name' è il nome dell'atomo il cui valore deve essere ripristinato. 'funzione' è la funzione che viene utilizzata per generare il nuovo valore dell'atomo.
Return Value - L'atomo con il nuovo valore verrà impostato in base alla funzione fornita.
Esempio
Un esempio di come viene utilizzato è mostrato nel seguente programma.
(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def myatom (atom 1))
   (println @myatom)
   
   (swap! myatom inc)
   (println @myatom))
(example)Produzione
Il programma precedente produce il seguente output.
1
2Dal programma sopra puoi vedere che il file ‘inc’(Increment function) si usa per incrementare il valore dell'atomo e con l'aiuto dello swap! funzione, il nuovo valore viene automaticamente associato all'atomo.
