Clojure Maps merge-with
返回一个映射,其中包含第一个映射的其余映射。如果一个键出现在多个映射中, 则后者的映射 (从左向右) 将与结果中的映射组合在一起。
语法
以下是语法。
(merge-with f hmap1 hmap2)
参数 - 'f'是需要应用于哈希映射的运算符。'hmap1'是哈希键和值的映射。'hmap2'是哈希键和值的映射,需要使用第一个HashMap进行映射。
返回值 - 返回由第一个映射结合的其余映射组成的映射。
例子
以下是Clojure中的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”出现两次,所以根据运算符+从HashMaps添加该值。