Clojure更新了两个键和两个函数
我正在尝试使用Clojure更新了两个键和两个函数,clojure,Clojure,我正在尝试使用updatein函数更新嵌套的hashmap。但我想用不同的函数更新两个键的值。例如: 我有这个杂烩: {:1 {:value 0, :active false}, :2 {:value 0, :active false} 我想将密钥1更新为: {:1 {:value 2, :active true}, :2 {:value 0, :active false} 有办法做到这一点吗 提前谢谢 更新 也许我可以使用assoc:(assoc-my-map:1{:value 2,:ac
updatein
函数更新嵌套的hashmap。但我想用不同的函数更新两个键的值。例如:
我有这个杂烩:
{:1 {:value 0, :active false}, :2 {:value 0, :active false}
我想将密钥1更新为:
{:1 {:value 2, :active true}, :2 {:value 0, :active false}
有办法做到这一点吗
提前谢谢
更新
也许我可以使用
assoc
:(assoc-my-map:1{:value 2,:active-true})
在中也有assoc,它的工作原理类似于assoc
。唯一的区别是,您提供了一个键向量,而不是单个键。所以,也许你可以通过一些中的关联来传递你的地图
或者使用功能更新(在1.7中添加):
在
中还有assoc,其工作原理类似于assoc
。唯一的区别是,您提供了一个键向量,而不是单个键。所以,也许你可以通过一些中的关联来传递你的地图
或者使用功能更新(在1.7中添加):
在
中还有assoc,其工作原理类似于assoc
。唯一的区别是,您提供了一个键向量,而不是单个键。所以,也许你可以通过一些中的关联来传递你的地图
或者使用功能更新(在1.7中添加):
在
中还有assoc,其工作原理类似于assoc
。唯一的区别是,您提供了一个键向量,而不是单个键。所以,也许你可以通过一些中的关联来传递你的地图
或者使用功能更新(在1.7中添加):
您可以有多个关联的k/v对:
user=> (def m {:1 {:value 0, :active false}, :2 {:value 0, :active false}})
#'user/m
user=> (update-in m [:1] assoc :value 1 :active true)
{:1 {:value 1, :active true}, :2 {:value 0, :active false}}
您可以有多个关联的k/v对:
user=> (def m {:1 {:value 0, :active false}, :2 {:value 0, :active false}})
#'user/m
user=> (update-in m [:1] assoc :value 1 :active true)
{:1 {:value 1, :active true}, :2 {:value 0, :active false}}
您可以有多个关联的k/v对:
user=> (def m {:1 {:value 0, :active false}, :2 {:value 0, :active false}})
#'user/m
user=> (update-in m [:1] assoc :value 1 :active true)
{:1 {:value 1, :active true}, :2 {:value 0, :active false}}
您可以有多个关联的k/v对:
user=> (def m {:1 {:value 0, :active false}, :2 {:value 0, :active false}})
#'user/m
user=> (update-in m [:1] assoc :value 1 :active true)
{:1 {:value 1, :active true}, :2 {:value 0, :active false}}
:1
和:2
是奇怪的关键字,为什么不把数字1
和2
作为键呢?:1
和:2
都是奇怪的关键字,为什么不把数字1
和2
作为键呢?:1
和:2
都是奇怪的关键字,为什么不仅仅是数字1
和2
作为键?:1
和:2
是奇怪的关键字,为什么不仅仅是数字1
和2
作为键?