更新原子值

有兩個命令來改變原子,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)))