(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)
我在这里做错了什么?