Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#/java事件的clojure方式,eventlisteners_Clojure - Fatal编程技术网

C#/java事件的clojure方式,eventlisteners

C#/java事件的clojure方式,eventlisteners,clojure,Clojure,我是从C#来的,我的clojure过期大约两周。 我想跟踪某个对象并从中接收通知。 在C#中,我使用事件。 有没有clojure针对这个问题的最佳实践 例如: 服务控制器.clj (def shared-state) (defn start-watch [x] ;; add object to watch in shared state ) (loop blah blah ;; check all objects in shared state and in some cases

我是从C#来的,我的clojure过期大约两周。 我想跟踪某个对象并从中接收通知。 在C#中,我使用事件。 有没有clojure针对这个问题的最佳实践

例如:

服务控制器.clj

(def shared-state)
(defn start-watch [x]
 ;; add object to watch in shared state
    )

(loop blah blah
 ;; check all objects in shared state and in some cases delete object, change object
 recur  )
在另一个文件中,我想为服务控制器共享状态添加侦听器。 engine.clj (添加侦听器服务控制器/共享状态fn blah)


我找到了代理并添加了watch,没问题,但我如何修改代理内的向量?

发送
发送
用于更改代理状态。具有更多详细信息,但基本上您可以使用一个计算新状态的函数调用
send

send
send off
用于更改代理状态。有更多详细信息,但基本上您可以使用计算新状态的函数调用
send

(service-controller/start-watch x)