gpt4 book ai didi

dictionary - Clojure:将元素添加到 map 内的向量中

转载 作者:行者123 更新时间:2023-12-04 01:16:59 27 4
gpt4 key购买 nike

我有这张 map

(def m {:a "aaa" :b {:c ["ss" "gg"]}})

我想将其更新为此(将“uu”添加到向量:c):

{:a "aaa" :b {:c ["ss" "gg" "uu"]}}

这是我想出的,我讨厌它:

(assoc-in m [:b :c] (conj (get-in m [:b :c]) "uu"))

我应该怎么做?

最佳答案

(update-in m [:b :c] conj "uu")

我的想法是 update-in将您带到那里并调用一个函数,该函数不仅接收那里的状态,还接收剩余的参数。所以这里 conj将调用 ["ss" "gg"]"uu" , 和键的值 :c在数据结构中将变为 ["ss" "gg" "uu"] .
assoc-in没有得到任何初始状态,因此在您的示例中,您必须努力重新创建那里的内容。

关于dictionary - Clojure:将元素添加到 map 内的向量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35499749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com