Cómo usar ref y dos en Clojure – Resuelto

En Clojure, ref se utiliza para manejar el estado mutable de manera coherente y segura, mientras que dos es una función que ayuda a gestionar cambios simultáneos en el estado de múltiples referencias.

Uso básico de ref

Podemos crear una referencia con ref y modificar su valor de manera transaccional:

(def saldo (ref 100))

Modificar el valor de ref

Para cambiar el valor de una referencia, usamos la función dos:

(dos saldo #(do (+ % 50)))