gpt4 book ai didi

clojure - 根据键将映射中的函数应用于映射中的每个值

转载 作者:行者123 更新时间:2023-12-02 21:12:29 24 4
gpt4 key购买 nike

假设我有一张 map :

{:name "foo"
:age "bar"}

还有一个

{:name (fn [val] (println val))
:age (fn [val] (= val "bar"))}

我想将第二个 map 上由 :name 键控的函数应用到第一个 map ,该函数也由 :name 键控以及由 :age 键控的函数 到第一个由 :age 键控的 map 。如何用 Clojure 方式做到这一点?

最佳答案

您可以使用合并与

(def m1 {:name "foo"
:age "bar"})

(def m2 {:name (fn [val] (println val))
:age (fn [val] (= val "bar"))})

user=> (merge-with #(%1 %2) m2 m1)
foo
{:name nil, :age true}

关于clojure - 根据键将映射中的函数应用于映射中的每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359975/

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