Functor Concept
2021-11-01 20:20:34
函子 (Functor)
在函数式编程中,函子是一个实现了 map 函数的容器或上下文。它允许我们将一个函数应用到容器内部的值上,而无需改变容器本身的结构。
核心定义
一个函子必须满足以下条件:
- 包含一个值或一组值。
- 提供一个
map方法。 map方法接受一个函数作为参数,将其应用于容器内的值,并返回一个新的函子。
函子定律
- 恒等律 (Identity):
container.map(x => x) === container - 组合律 (Composition):
container.map(f).map(g) === container.map(x => g(f(x)))