我正在尝试将函数应用于映射中与某个键匹配的所有元素.
(def mymap {:a "a" :b "b" :c "c"})
(update-in mymap [:a :b] #(str "X-" %))
Run Code Online (Sandbox Code Playgroud)
我期待着
{:a "X-a", :c "c", :b "X-b"}
Run Code Online (Sandbox Code Playgroud)
但我明白了
ClassCastException java.lang.String无法强制转换为clojure.lang.Associative clojure.lang.RT.assoc(RT.java:702)
有人可以帮我这个吗?
Ank*_*kur 10
update-in是更新地图中的单个键(在特定的嵌套级别,[:a :b]表示更新键:b在键的映射值内:a.
你想要什么可以使用reduce完成:
(reduce #(assoc %1 %2 (str "X-" (%1 %2)))
mymap
[:a :b])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2003 次 |
| 最近记录: |