- Clojure教程
- Clojure - 主页
- Clojure - 概览
- Clojure - 环境
- Clojure - 基本语法
- Clojure - REPL
- Clojure - 数据类型
- Clojure - 变量
- Clojure - 运算符
- Clojure - 循环
- Clojure - 决策
- Clojure - 函数
- Clojure - 数值
- Clojure - 递归
- Clojure - 文件 I/O
- Clojure - 字符串
- Clojure - 列表
- Clojure - 集合
- Clojure - 向量
- Clojure - 映射
- Clojure - 命名空间
- Clojure - 异常处理
- Clojure - 序列
- Clojure - 正则表达式
- Clojure - 谓词
- Clojure - 解构
- Clojure - 日期和时间
- Clojure - 原子
- Clojure - 元数据
- Clojure - 结构映射
- Clojure - 代理
- Clojure - 观察者
- Clojure - 宏
- Clojure - 引用值
- Clojure - 数据库
- Clojure - Java 接口
- Clojure - 并发编程
- Clojure - 应用程序
- Clojure - 自动化测试
- Clojure - 库
- Clojure 实用资源
- Clojure - 快速指南
- Clojure - 实用资源
- Clojure - 讨论
Clojure - 映射函数 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' 出现两次,因此其值通过运算符 + 分别从两个 HashMap 中添加。
clojure_maps.htm
广告