commute
优质
小牛编辑
125浏览
2023-12-01
Commute也用于更改引用类型的值,就像alter和ref-set一样。 唯一的区别是,这也需要放在'dosync'块中。 但是,只要不需要知道哪个调用进程实际上改变了引用类型的值,就可以使用它。 Commute还使用函数来更改引用变量的值。
语法 (Syntax)
以下是语法。
(commute refname fun)
Parameters - 'refname'是保存参考值的变量的名称。 'fun'是用于更改引用类型值的函数。
Return Value - 引用及其对应的新值。
例子 (Example)
以下程序显示了如何使用它的示例。
(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)
输出 (Output)
上述程序产生以下输出。
1
2