Clojure-agent
提供:Dev Guides
Clojure-エージェント
エージェントは、agentコマンドを使用して作成されます。
構文
構文は次のとおりです。
(agent state)
パラメータ-「状態」は、エージェントに割り当てられるべき初期状態です。
戻り値-現在の状態と値を持つエージェントオブジェクトを返します。
例
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def counter (agent 0))
(println counter))
(Example)
出力
上記のプログラムは、次の出力を生成します。
#object[clojure.lang.Agent 0x371c02e5 {:status :ready, :val 0}]
アトムデータタイプと同様に、エージェントにもステータスと値が関連付けられていることがわかります。 エージェントの値に直接アクセスするには、変数名とともに@symbolを使用する必要があります。
例
これがどのように使用されるかの例は、次のプログラムに示されています。
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def counter (agent 0))
(println @counter))
(Example)
出力
上記のプログラムは、次の出力を生成します。
0
上記のプログラムから、@ counterのような@記号を追加すると、エージェント変数の値にアクセスできることが明確にわかります。