Clojure - Échange d'atomes!

Échange atomiquement la valeur de l'atome avec une nouvelle basée sur une fonction particulière.

Syntaxe

Voici la syntaxe.

(swap! atom-name function)

Parameters- 'atom-name' est le nom de l'atome dont la valeur doit être réinitialisée. «fonction» est la fonction qui est utilisée pour générer la nouvelle valeur de l'atome.

Return Value - L'atome avec la nouvelle valeur sera défini en fonction de la fonction fournie.

Exemple

Un exemple sur la façon dont cela est utilisé est montré dans le programme suivant.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def myatom (atom 1))
   (println @myatom)
   
   (swap! myatom inc)
   (println @myatom))
(example)

Production

Le programme ci-dessus produit la sortie suivante.

1
2

À partir du programme ci-dessus, vous pouvez voir que le ‘inc’(Fonction d'incrémentation) est utilisée pour incrémenter la valeur de l'atome et à l'aide du swap! fonction, la nouvelle valeur est automatiquement associée à l'atome.