Clojure - agente

Un agente viene creato utilizzando il comando agente.

Sintassi

Di seguito è riportata la sintassi.

(agent state)

Parameters - "stato" è lo stato iniziale che deve essere assegnato all'agente.

Return Value - Restituisce un oggetto agente con uno stato e un valore correnti.

Esempio

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

Produzione

Il programma precedente produce il seguente output.

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

Proprio come il tipo di dati atom, puoi vedere che anche l'agente ha uno stato e un valore ad esso associati. Per accedere direttamente al valore dell'agente è necessario utilizzare il simbolo @ insieme al nome della variabile.

Esempio

Un esempio di come viene utilizzato è mostrato nel seguente programma.

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

Produzione

Il programma precedente produce il seguente output.

0

Puoi vedere chiaramente dal programma sopra che se hai aggiunto il simbolo @ come @counter, avrai accesso al valore della variabile agente.

clojure_agents