当前位置: 首页 > 文档资料 > Clojure 中文教程 >

commute

优质
小牛编辑
124浏览
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