0
我对更新地图中的值所需的语法感到困惑,其中所述值是地图的矢量。Clojure,更新地图中的嵌套内容
拿到一张地图:
{:data-extracts [
{:name "some name"
:data "some data"
}]}
如何更新的值的数据,我知道你可以使用assoc
或conj
修改地图(以及返回新地图),但我不能确定这是如何工作当嵌套元素存在时。
期望的结果:
{:data-extracts [
{:name "some name"
:data "new data"
}]}
有没有办法做到像下面这样?
(update :data-extracts :data "new data")
这是如何实现的?
我试过如下:
(assoc opts :data-extracts [:name "Secret Escapes"
:data "new data"]))
但如我所料不工作。
如果我在上面像'(更新我的地图指定我的地图[:数据提取0:数据]“新数据“)是告诉我字符串不能被转换为函数。猜测是因为“新数据”不是字符串 –
@ChrisEdwards查看最新的编辑。在发布后不久我意识到,抹去了答案并对其进行了编辑。对困惑感到抱歉。 –
我确实遇到过关联,但无法弄清我的用例的语法。谢谢。 –