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
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号