![]() |
1
2
基本的答案是肯定的,你可以使用过滤器来做到这一点。筛选器需要 谓词函数,即返回真或假的函数。过滤器 函数将迭代您传入并传递的集合中的元素 谓词函数完全由您决定(尽管您应该确保避免 变成一个新的懒惰序列。 基本上,你有(长格式)
关键是要了解你的收藏结构。在你的 描述,你说的
不幸的是,你的描述有点模棱两可。如果你的数据集结构 实际上是一个向量的向量(不是简单的向量),那么事情是非常复杂的 直截了当。这是因为它将意味着每个“元素”都传递给 谓词函数将是“内部”向量之一。真正的定义是 更准确地表示为
传递给谓词的是一个由3个元素组成的向量。如果你只是想 选择第一个元素为“AK”的所有向量,然后选择谓词
所以整条线应该是这样的
把这个再短一点。
变得更复杂一点,因为你需要对 价值观。这可以通过使用配分函数来分解
将每个组添加到谓词函数。这就是地图的真正力量, 过滤、减少等等——你可以转换数据,传递数据 通过一个函数管道,每个函数以某种方式操纵数据和 关键是要了解什么是过滤器(和其他类似的函数,例如 作为map或reduce)将理解为输入中的“元素” 拜访了收藏家。这就是传递给中谓词函数的内容 文件管理器。 这里有很多假设。其中一个主要原因是你的数据 每个组中的元素。如果不是这样,那么就需要做更多的工作 完成。同样,我们假设数据总是3人一组。如果不是,那么就需要其他方法。 |
![]() |
Freid001 · 具有最小和最大限制的架构? 6 年前 |
![]() |
phlie · Hoplon With Castra加载后端时出错 6 年前 |
![]() |
David Furnam · Clojure从数组中获取坐标 6 年前 |
![]() |
Jeroen · 如何将惰性序列转换为映射? 6 年前 |