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
2
Dal 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.