Clojure - agente

Um agente é criado usando o comando do agente.

Sintaxe

A seguir está a sintaxe.

(agent state)

Parameters - 'estado' é o estado inicial que deve ser atribuído ao agente.

Return Value - Retorna um objeto de agente com um estado e valor atuais.

Exemplo

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

Resultado

O programa acima produz a seguinte saída.

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

Assim como o tipo de dados atom, você pode ver que o agente também possui um status e um valor associado a ele. Para acessar o valor do agente diretamente, você precisa usar o @symbol junto com o nome da variável.

Exemplo

Um exemplo de como isso é usado é mostrado no programa a seguir.

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

Resultado

O programa acima produz a seguinte saída.

0

Você pode ver claramente no programa acima que, se tiver anexado o símbolo @ como @contador, você obterá acesso ao valor da variável do agente.

clojure_agents