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.html