科里化函数的作用


科里化函数的作用

基本功能

Currying (科里化) 是函数式编程中的常见操作, 其作用是将多参数的函数改写成高阶函数[1]. 例如:

1
2
3
4
5
6
7
8
9
func foo(_ a: Int, _ b: Int) -> Int{
a + b
}

func curriedFoo(_ a: Int) -> (Int) -> Int {
return { b in
a + b
}
}

语法角度, 科里化的最终目的即是通过创建新的 closure 并 capture 部分参数, 将原本同一层级的输入参数分离开来.

Read More