clojure交换!更新地图地图

时间:2013-11-11 15:40:37

标签: clojure

(def tables 
   (atom 
   {:tableA {:occupied false :party nil} 
    :tableB {:occupied true  :party nil}
    :tableC {:occupied false :party nil}}))

我正在尝试将其中一个表的“:occupied”状态更新为true。 这对我有用:

(assoc-in tables [:tableC :occupied] true)

然而,我无法使用“swap!”来实现它。这是我试图做的事情:

(swap! tables assoc-in [:tableC :occupied] true)

给了我一个错误:

ClassCastException clojure.lang.PersistentHashMap无法强制转换为clojure.lang.Atom clojure.core / swap! (core.clj:2162)

我在这里做错了什么?

0 个答案:

没有答案