通勤还用于更改引用类型的值,就像alter和ref-set一样,唯一的区别是,这也需要放在" dosync"块中。
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