Clojure - ¡Los átomos intercambian!

Cambia atómicamente el valor del átomo por uno nuevo basado en una función particular.

Sintaxis

A continuación se muestra la sintaxis.

(swap! atom-name function)

Parameters- 'atom-name' es el nombre del átomo cuyo valor debe restablecerse. 'función' es la función que se utiliza para generar el nuevo valor del átomo.

Return Value - El átomo con el nuevo valor se establecerá en función de la función proporcionada.

Ejemplo

En el siguiente programa se muestra un ejemplo de cómo se usa.

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

Salida

El programa anterior produce la siguiente salida.

1
2

En el programa anterior puede ver que el ‘inc’(Función de incremento) se utiliza para incrementar el valor del átomo y con la ayuda del intercambio. función, el nuevo valor se asocia automáticamente con el átomo.