从Clojure中的可变映射获取键值
我已经用原子创建了可变状态映射。我想从地图上得到钥匙的值。 我用下面的方法尝试过,但它返回“nil”值 这张报表正在打印从Clojure中的可变映射获取键值,clojure,Clojure,我已经用原子创建了可变状态映射。我想从地图上得到钥匙的值。 我用下面的方法尝试过,但它返回“nil”值 这张报表正在打印 (println coll1) #object[clojure.lang.Atom 0x771a660 {:status :ready, :val {:a XXXX, :b XXXXXX}}] 我写这句话的目的是为了获取以下价值:a (println (get-in coll1 [:val :a])) 你需要取消对原子的引用。这会有帮助的。 对于您的情况,您正在寻找类似
(println coll1)
#object[clojure.lang.Atom 0x771a660 {:status :ready, :val {:a XXXX, :b XXXXXX}}]
我写这句话的目的是为了获取以下价值:a
(println (get-in coll1 [:val :a]))
你需要取消对原子的引用。这会有帮助的。
对于您的情况,您正在寻找类似
(get@coll1:a)
或(:a@coll1)
或(@coll1:a)
您只是忘记了对原子进行排序:(println(get in@coll1[:val:a]):val
不是应该引用的键。只需解除atom的锁定并获得:一个键。
(println (get-in coll1 [:val :a]))