函数组合子

命令式代码能够使用if-else和for这样的过程控制,

函数式则不能。所以我们需要函数组合子。组合子可以组合 其他函数(或其他组合子),并作为控制逻辑单元的高阶函数,组合子通常不声明任何变量,也不包含任何业 务逻辑,他们旨在管理函数程序执行流程,并在链式调用中对中间结果进行操作。

常用的组合子:

辅助组合子:

  无为(nothing)、照旧(identity)、默许(defaultTo)、恒定(always)

函数组合子

  收缩(gather)、展开(spread)、颠倒(reverse)、左偏(partial)、右偏 (partialRight)、柯里化(curry)、弃离(tap)、交替(alt)、补救(tryCatch)、同时 (seq)、聚集(converge)、映射(map)、分捡(useWith)、规约(reduce)、组合 (compose)

谓语组合子 过滤(filter)、分组(group)、排序(sort)

  其它 组合子变换 juxt

分属于SKI组合子

posted @ 2021-09-02 11:36  #青橙#  阅读(137)  评论(0编辑  收藏  举报