看守
编辑教程看守
例如,如果调用程序更改atom变量的值,并且如果Watcher函数附加到atom变量,则一旦atom的值改变,Watcher是添加到变量类型的函数,例如atom和引用变量,当变量类型的值改变时调用。 ,该函数将被调用。
观看者的Clojure中提供了以下功能。
添加观察者
手表'fn'必须是4个参数的'fn':一个键,引用,它的旧状态,它的新状态。引用的状态可能已更改,任何注册的手表都将调用其函数。
语法
以下是Watcher基本使用语法:
(add-watch variable :watcher
(fn [key variable-type old-state new-state]))
参数 - '变量'是原子或引用变量的名称'可变类型'是变量的类型,原子或引用变量'旧状态和新状态'是将自动保存变量的旧值和新值的参数“。 key'对于每个引用必须是唯一的,并且可以删除和删除手表的手表。
返回值 -无。
例
下面是一个Watcher使用的例子。
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def x (atom 0))
(add-watch x :watcher
(fn [key atom old-state new-state]
(println "The value of the atom has been changed")
(println "old-state" old-state)
(println "new-state" new-state)))
(reset! x 2))
(Example)
输出
以上示例输出以下结果:
The value of the atom has been changed
old-state 0
new-state 2
可移除Watcher
除去已附着在引用变量的手表。
语法
以下是可删除Watcher基本使用语法:
(remove-watch variable watchname)
参数 -'variable'是atom或引用变量的名称。'watchname'是定义监视功能时给Watcher的名称。
返回值 -无。
例
下面是一个可删除Watcher的例子。
(ns clojure.examples.example (:gen-class))
(defn Example [] (def x (atom 0))
(add-watch x :watcher (fn [key atom old-state new-state]
(println "The value of the atom has been changed")
(println "old-state" old-state)
(println "new-state" new-state)))
(reset! x 2) (remove-watch x :watcher) (reset! x 4)) (Example)
输出
以上示例输出以下结果:
The value of the atom has been changed
old-state 0
new-state 2
从上面的程序可以清楚地看到,第二个重置命令不会触发观察者,因为它被从观察者的列表中删除。
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟