Clojure - alterar

Esta función se utiliza para alterar el valor de un tipo de referencia pero de manera segura. Esto se ejecuta en un hilo, al que no puede acceder ningún otro proceso. Es por eso que el comando debe asociarse con un‘dosync’método siempre. En segundo lugar, para cambiar el valor de un tipo de referencia, es necesario llamar a una función para realizar el cambio necesario en el valor.

Sintaxis

A continuación se muestra la sintaxis.

(alter refname fun)

Parameters- 'refname' es el nombre de la variable que contiene el valor de referencia. 'divertido' es la función que se utiliza para cambiar el valor del tipo de referencia.

Return Value - La referencia y su nuevo valor correspondiente.

Ejemplo

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

(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)

Salida

El programa anterior produce la siguiente salida.

[John Mark]