Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Clojure中的可变映射获取键值_Clojure - Fatal编程技术网

从Clojure中的可变映射获取键值

从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])) 你需要取消对原子的引用。这会有帮助的。 对于您的情况,您正在寻找类似

我已经用原子创建了可变状态映射。我想从地图上得到钥匙的值。 我用下面的方法尝试过,但它返回“nil”值

这张报表正在打印

(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]))