首页 > 解决方案 > 组成换能器;组成顺序和执行顺序

问题描述

这里有一段说:

转换器的组合从右到左运行,但构建一个从左到右运行的转换堆栈(在此示例中,过滤发生在映射之前)。

我不明白。这是什么意思:变压器的组成从右到左(在本例中从底部开始)

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

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

标签: closurescompositiontransducer

解决方案


我会尽量快速回答;求问:

编译器知道map后面跟着一个take. 所以展开组合来编译它,它会依次定义map,然后take是函数,尽管执行图是从底部开始的。


推荐阅读