haskell - 从映射到其关联对的光学
问题描述
我需要一个Fold (Map k v) (k, v)
光学镜。有没有办法通过“光学”库获得它?如果没有,是否有“镜头”?
解决方案
在optics
或lens
中,您应该能够编写:
pairs :: Fold (Map k v) (k, v)
pairs = folding Map.toList
一般来说,folding
采用任何产生可折叠结果的函数(在本例中为键值对列表)并在这些元素上创建折叠。
推荐阅读
- vba - VBA - MS Project - 使用“查找”后将单个任务分配给对象变量
- database-design - 架构设计:我们什么时候需要使用内存存储(如redis)作为数据库的缓存层
- r - R - 综合回归
- spring-boot - 使用过滤器添加响应头
- java - 升级到 Gradle 包装器到 7.0.2 和 JDK 11 后,Android 版本构建失败
- php - 在 linux 服务器 GoDaddy 中设置 PHPMailer
- python - 如何向量化行连接
- java - Java:如何显式调用自己的类版本的方法?
- javascript - 如何将鼠标悬停在文本上以显示和播放视频?
- mysql - 我可以在 REPLACE 命令中使用 LIKE