closures - 组成换能器;组成顺序和执行顺序
问题描述
这里有一段说:
转换器的组合从右到左运行,但构建一个从左到右运行的转换堆栈(在此示例中,过滤发生在映射之前)。
我不明白。这是什么意思:变压器的组成从右到左(在本例中从底部开始)
(def xf
(comp
(filter odd?)
(map inc)
(take 5)))
对我来说,我所看到的只是这个组合将如何执行,它将过滤、映射和获取。从底部开始的构图顺序有什么意义。这似乎是文章中的一个重要点,所以我尽量不要错过这一点。
解决方案
我会尽量快速回答;求问:
编译器知道map
后面跟着一个take
. 所以展开组合来编译它,它会依次定义map
,然后take
是函数,尽管执行图是从底部开始的。
推荐阅读
- reactjs - [Typescript]:如何键入通用函数以接受更具体的对象作为参数?
- java - 在类构建期间是否可以访问 Autowired 字段?
- python - 切片运算符 | 捕获每个子列表中的第二个元素 | Python
- r - 分类变量预测能力
- google-cloud-sql - 即使在允许的地址列表中注册了 ip,什么可能导致与 Google Cloud SQL 实例的连接失败?
- ubuntu - Npm install 在 Windows 上的 ubuntu 子系统上不起作用
- javascript - 如何从 body API 中获取一项?
- vb6 - 如何检查数组的值是否为空
- c# - 使用 Aforge C# 翻转视频输出
- javascript - 为什么相同的 [click] 事件会被处理两次?