合成换能器;组成顺序和执行顺序



这里有一段说明:

转换器的组成从右向左运行,但构建从左到右运行的转换堆栈(筛选发生在本例中的映射(。

我不明白。这意味着什么:转换器的组成从右到左(在本例中从底部开始(

(def xf
(comp
(filter odd?)
(map inc)
(take 5)))

对我来说,我所看到的只是这个组合将如何执行,它将过滤、映射和获取。自下而上的构图顺序有什么意义。这似乎是文章中的一个重要观点,所以我尽量不漏掉这一点。

我会尝试快速回答;回避问题:

编译器知道map后面跟一个take。因此,展开组合来编译它,它将依次定义map,然后定义take函数,尽管执行图从底部开始。

最新更新