我对clojure还不熟悉,我已经盯着这个看了一段时间了,我肯定有些基本的东西我就是不明白。我想建立两个集合,但它们是嵌套的,例如:
(def foo {:b #{:test}})
(def bar {:a {:b #{:ab}} :c :d})我试过:
=>(update-in bar [:a :b] conj (:b foo) )
{:a {:b #{#{:test} :ab}}, :c :d}我想这是有道理的,但我想要的是{:a {:b #{:test :ab},:c :d}
我只是看不出如何将#{:test}从集合中取出来,或者正确地访问:b作为给定的update-in语法集。
任何帮助都是非常感谢的。
发布于 2013-08-20 02:21:54
您需要使用into而不是conj
(update-in bar [:a :b] into (:b foo))
;= {:a {:b #{:test :ab}}, :c :d}https://stackoverflow.com/questions/18325935
复制相似问题