gpt4 book ai didi

map - 通过多个键使用Clojure更新

转载 作者:行者123 更新时间:2023-12-04 13:40:50 37 4
gpt4 key购买 nike

我正在尝试将功能应用于映射中与某个键匹配的所有元素。

(def mymap {:a "a" :b "b" :c "c"}) 
(update-in mymap [:a :b] #(str "X-" %))

我期待着
{:a "X-a", :c "c", :b "X-b"}

但是我明白了

ClassCastException java.lang.String cannot be cast to clojure.lang.Associative clojure.lang.RT.assoc (RT.java:702)



有人可以帮我吗?

最佳答案

update-in用于更新 map 中的单个键(在特定的嵌套级别,[:a :b]表示在键:a的 map 值内更新键:b。

您可以使用reduce来完成以下操作:

(reduce #(assoc %1 %2 (str "X-" (%1 %2)))
mymap
[:a :b])

关于map - 通过多个键使用Clojure更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653035/

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