shfshanyue / fp-jargon-zh

函数式编程术语及示例。本项目译自 https://github.com/hemanth/functional-programming-jargon
1.28k stars 109 forks source link

关于 偏函数 (Partial Function) #3

Closed cexoso closed 7 years ago

cexoso commented 7 years ago

我觉得应该叫部分调用函数。

还有你说的

柯里化通过偏函数实现

我觉得是偏函数是通过柯里化实现的吧。因为先有柯里化,然后传入部分参数调用后,还叫部分调用函数。

不知道对不对

shfshanyue commented 7 years ago

感谢反馈!

  1. 偏函数 Partial Function 准确说应该是部分预置函数吧,不过一般称为偏函数。
  2. 柯里化 柯里化它把多个参数的函数转变为带一个参数的多个函数,其实就是不断固定函数参数的过程,可以查看以下代码
    
    const partical = (f, ...args) => (...moreargs) => f(...args, ...moreargs)

const curry = function (add, len = add.length) { return (...args) => len - args.length === 0 ? add(...args) : curry(partical(add, ...args), len - args.length) }

const add6 = (a, b, c, d, e, f) => a + b + c + d + e + f

console.log(curry(add6)(1, 2, 3)(4, 5, 6)) console.log(curry(add6)(1)(2, 3)(4, 5, 6)) console.log(curry(add6)(1, 2)(3)(4, 5, 6)) console.log(curry(add6)(1, 2)(3)(4)(5, 6))



欢迎讨论