Clojure commute
2018-12-28 15:13 更新
Commute也用于改变引用类型的值,就像alter和ref-set一样。 唯一的区别是,这也需要放在一个“dosync”块中。 然而,这可以在无需知道哪个调用进程实际改变了引用类型的值时使用。 Commute还使用一个函数来更改引用变量的值。
语法
以下是 commute 基本使用语法:
(commute refname fun)
参数 − 'refname'是保存引用值的变量的名称。 'fun'是用于更改引用类型的值的函数。
返回值 − 引用及其对应的新值。
例
下面是一个 commute 使用的例子。
(ns clojure.examples.example (:gen-class)) (defn Example [] (def counter (ref 0)) (defn change [counter] (dosync (commute counter inc))) (change counter) (println @counter) (change counter) (println @counter)) (Example)
输出
以上示例输出以下结果:
1 2
以上内容是否对您有帮助:
更多建议: