Clojure - alter 函式



此函式用於以安全的方式更改引用型別的值。它在單獨的執行緒中執行,其他程序無法訪問該執行緒。這就是為什麼此命令始終需要與‘dosync’ 方法關聯的原因。其次,要更改引用型別的 值,需要呼叫一個函式來對值進行必要的更改。

語法

以下是語法。

(alter refname fun)

引數 − ‘refname’ 是儲存引用值的變數名。‘fun’ 是用於更改引用型別值的函式。

返回值 − 引用及其對應的新的值。

示例

以下程式演示瞭如何使用它。

(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)

輸出

以上程式產生以下輸出。

[John Mark]
clojure_reference_values.htm
廣告