Clojure alter

2018-12-28 14:39 更新

此函數(shù)用于更改引用類型的值,但以安全的方式。 這是在一個(gè)線程中運(yùn)行的,它不能被另一個(gè)進(jìn)程訪問。 這就是為什么命令需要與一個(gè)'dosync'方法總是相關(guān)聯(lián)。 其次,要更改引用類型的值,需要調(diào)用函數(shù)以對該值進(jìn)行必要的更改。

語法

下面是 alter 的使基本語法:

(alter refname fun)

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

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

下面是 alter 的使用示例:

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def names (ref []))
   
   (defn change [newname]
      (dosync
         (alter names conj newname)))
   (change "John")
   (change "Mark")
   (println @names))
(Example)

輸出

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

[John Mark]
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)