0%

函数式编程

柯里化(Currying)

柯里化是函数式编程的基础 主要的想法在于利用函数式编程的概念

利用闭包的特性把原本是接受多个参数的函数封装成只接受一个参数的函数(单函数参数)

后面再配合组合的方式使用 compose 函数

1
2
3
4
5
6
7
8
9
10
11
12
13
function curry(fn) {
//这里用递归实现 考虑递归条件与递归出口
return function makeFn(...args) {
if (args.length < fn.length) {
//递归条件 - 当传入的参数的个数小于fn本身执行需要的参数的个数
//高阶函数这里要return function
return function (...localArgs) {
return makeFn(...[...args, ...localArgs]); //把上一层递归的args和本身收到的参数拼起来往下递归
};
}
return fn(...arguments); //递归出口 - 当传入的参数的个数等于执行函数所需要的参数的个数时 执行函数
};
}
Read more »

前前后后搞了快有一个星期的时间 终于把这个博客给搭起来了…

用的是hexo + Git pages + Next theme 现在回过头来看其实这些都并不是很难

真正麻烦的地方就在于next的theme的一些配置都已经更新了(主要是他们人多力量大)

但是很多教程并没有随着更新 尤其是各种插件这一块 所以还是踩了不少的坑

Read more »