Clojure commute

2018-12-28 15:13 更新

Commute也用于改變引用類型的值,就像alter和ref-set一樣。 唯一的區(qū)別是,這也需要放在一個(gè)“dosync”塊中。 然而,這可以在無(wú)需知道哪個(gè)調(diào)用進(jìn)程實(shí)際改變了引用類型的值時(shí)使用。 Commute還使用一個(gè)函數(shù)來(lái)更改引用變量的值。

語(yǔ)法

以下是 commute 基本使用語(yǔ)法:

(commute refname fun)

參數(shù) ? 'refname'是保存引用值的變量的名稱。 'fun'是用于更改引用類型的值的函數(shù)。

返回值 ? 引用及其對(duì)應(yīng)的新值。

下面是一個(gè) 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)

輸出

以上示例輸出以下結(jié)果:

1
2
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)