Clojure - alter
Questa funzione viene utilizzata per modificare il valore di un tipo di riferimento ma in modo sicuro. Viene eseguito in un thread, a cui non è possibile accedere da un altro processo. Questo è il motivo per cui il comando deve essere associato a un file‘dosync’metodo sempre. In secondo luogo, per modificare il valore di un tipo di riferimento, è necessario chiamare una funzione per apportare la modifica necessaria al valore.
Sintassi
Di seguito è riportata la sintassi.
(alter refname fun)
Parameters- "refname" è il nome della variabile che contiene il valore di riferimento. 'fun' è la funzione che viene utilizzata per modificare il valore del tipo di riferimento.
Return Value - Il riferimento e il suo nuovo valore corrispondente.
Esempio
Un esempio di come viene utilizzato è mostrato nel seguente programma.
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def names (ref []))
(defn change [newname]
(dosync
(alter names conj newname)))
(change "John")
(change "Mark")
(println @names))
(Example)
Produzione
Il programma precedente produce il seguente output.
[John Mark]