Clojure - pendolarismo

Commute viene utilizzato anche per modificare il valore di un tipo di riferimento proprio come alter e ref-set. L'unica differenza è che anche questo deve essere inserito in un blocco "dosync". Tuttavia, questo può essere utilizzato ogni volta che non è necessario sapere quale processo chiamante ha effettivamente modificato il valore del tipo di riferimento. Commute utilizza anche una funzione per modificare il valore della variabile di riferimento.

Sintassi

Di seguito è riportata la sintassi.

(commute 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 counter (ref 0))
   
   (defn change [counter]
      (dosync
         (commute counter inc)))
   (change counter)
   (println @counter)
   
   (change counter)
   (println @counter))
(Example)

Produzione

Il programma precedente produce il seguente output.

1
2