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
广告