0
(def tables
    [{:table "A" :occupied false :party nil} 
     {:table "B" :occupied false :party nil}
     {:table "C" :occupied false :party nil}])

1)如何使用矢量更改单个地图?

前任。设置:占用=真其中:表=“C”

2) 更新所有地图值怎么样?前任。为所有地图设置 :occupied = false

4

1 回答 1

1

(map (fn [t] (if (= (:table t) "C") (assoc t :occupied true) t)) tables)

(map #(assoc % :occupied false) tables)

请注意,这些不会更改您的表,因为它们是不可变的数据结构,此代码将返回一个新的表序列,其中包含您描述的差异。

于 2013-11-10T04:08:00.433 回答