我有地图m
,密钥k
和功能f
。是否可以更简单地重写此代码?
(assoc m k (f (get m k))
答案 0 :(得分:6)
答案 1 :(得分:4)
update-in做得很好,虽然它对嵌套地图特别有用:
> (update-in {:a 4} [:a] + 7)
{:a 11}
> (update-in {:a {:b 4 :c {:d 8}} :q :foo} [:a :c :d] + 7)
{:a {:c {:d 15}, :b 4}, :q :foo}