其他分享
首页 > 其他分享> > Clojure的引用类型:var,ref,agent和atom

Clojure的引用类型:var,ref,agent和atom

作者:互联网

作为其他值的容器,也都可以解引用。

在deref不会阻塞。

atom

用swap! 修改

;; make an atomic list
(def players (atom ()))
;; #'user/players

;; conjoin a keyword into that list
(swap! players conj :player1)
;;=> (:player1)

;; conjoin a second keyword into the list
(swap! players conj :player2)
;;=> (:player2 :player1)

;; take a look at what is in the list
(deref players)
;;=> (:player2 :player1)

 

swap! 接受函数 和参数,把atom里的作为第1个参数。后面参数不限

 

标签:list,agent,player2,players,player1,swap,atom,var
来源: https://www.cnblogs.com/xuanmanstein/p/10972875.html