Clojure - agent

Un agent est créé à l'aide de la commande agent.

Syntaxe

Voici la syntaxe.

(agent state)

Parameters - «état» est l'état initial qui doit être attribué à l'agent.

Return Value - Renvoie un objet agent avec un état et une valeur actuels.

Exemple

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def counter (agent 0))
   (println counter))
(Example)

Production

Le programme ci-dessus produit la sortie suivante.

#object[clojure.lang.Agent 0x371c02e5 {:status :ready, :val 0}]

Tout comme le type de données atom, vous pouvez voir que l'agent a également un statut et une valeur qui lui sont associés. Pour accéder directement à la valeur de l'agent, vous devez utiliser le @symbol avec le nom de la variable.

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 counter (agent 0))
   (println @counter))
(Example)

Production

Le programme ci-dessus produit la sortie suivante.

0

Vous pouvez clairement voir dans le programme ci-dessus que si vous avez ajouté le symbole @ comme @counter, vous aurez accès à la valeur de la variable d'agent.

clojure_agents