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