Atomicamente troca o valor do átomo por um novo com base em uma função específica.
Sintaxe
A seguir está a sintaxe.
(swap! atom-name function)
Parameters- 'atom-name' é o nome do átomo cujo valor precisa ser redefinido. 'função' é a função que é usada para gerar o novo valor do átomo.
Return Value - O átomo com o novo valor será definido com base na função fornecida.
Exemplo
Um exemplo de como isso é usado é mostrado no programa a seguir.
(ns clojure.examples.example
(:gen-class))
(defn example []
(def myatom (atom 1))
(println @myatom)
(swap! myatom inc)
(println @myatom))
(example)
Resultado
O programa acima produz a seguinte saída.
1
2
No programa acima, você pode ver que o ‘inc’(Função de incremento) é usada para incrementar o valor do átomo e com a ajuda do swap! função, o novo valor é automaticamente associado ao átomo.