返回由映射到第一个映射的其余映射组成的映射,如果一个键出现在多个Map中,则来自后者的映射(从左到右)将与输出中的映射合并。
merge-with - 语法
以下是语法。
(merge-with f hmap1 hmap2)
参数 - " f"是需要应用于哈希映射的运算符, " hmap1"是哈希键和值的映射, " hmap2"是哈希键和值的映射,需要与第一个HashMap映射。
返回值 - 返回由映射到第一个映射的其余映射组成的映射。
merge-with - 示例
(ns clojure.examples.example (:gen-class)) (defn example [] (def demokeys (hash-map "z" 1 "b" 2 "a" 3)) (def demokeys1 (hash-map "a" 2 "h" 5 "i" 7)) (println (merge-with + demokeys demokeys1))) (example)
上面的代码产生以下输出。
{z 1, a 5, i 7, b 2, h 5}
请注意,在输出中,由于键" a"出现了两次,因此按照运算符+从两个HashMap中添加了该值。
参考链接
https://www.learnfk.com/clojure/clojure-maps-mergewith.html
标签:clojure,映射,无涯,运算符,merge,哈希,Clojure,example From: https://blog.51cto.com/u_14033984/8042776