当前位置: 首页 > 文档资料 > Clojure 中文教程 >

agent

优质
小牛编辑
127浏览
2023-12-01

使用agent命令创建代理。

语法 (Syntax)

以下是语法。

(agent state)

Parameters - “state”是应分配给代理的初始状态。

Return Value - 返回具有当前状态和值的代理程序对象。

例子 (Example)

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

输出 (Output)

上述程序产生以下输出。

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

就像原子数据类型一样,您可以看到代理也具有状态和与之关联的值。 要直接访问代理的值,您需要使用@symbol和变量名称。

例子 (Example)

以下程序显示了如何使用它的示例。

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

输出 (Output)

上述程序产生以下输出。

0

您可以从上面的程序中清楚地看到,如果您附加@counter之类的@符号,您将可以访问代理变量的值。