我是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语法的集合。
非常感谢任何帮助。
答案 0 :(得分:1)
您需要使用into
代替conj
:
(update-in bar [:a :b] into (:b foo))
;= {:a {:b #{:test :ab}}, :c :d}