更新原子值
有兩個命令來改變原子,swap!
和 reset!
。swap!
被賦予命令,並根據其當前狀態改變原子。reset!
完全改變原子的值,無論原子的值是多少:
(swap! counter inc) ; => 1
(reset! counter 0) ; => 0
這個例子使用原子輸出 2
的前 10 個冪:
(def count (atom 0))
(while (< @atom 10)
(swap! atom inc)
(println (Math/pow 2 @atom)))