240 发简信
IP属地:上海
  • 在Haskell里写“命令式”风格代码

    前不久在Codewars上看见一道很有意思的题目,大致意思就是要你用Haskell这样纯粹的函数式编程语言来写如下看起来很“命令式”的代码: 乍...

  • Ruby的block

    初识block 带block方法的定义 假设我们自己要定义一个可以接受block的方法,我们应该怎样来定义,又怎样使用传进来的block呢?这里...

  • Flask的ThreadLocal和LocalProxy

    这是flask里使用的ThreadLocal的定义,实际上是Werkzeug实现的。可以看出,Local对象在初始化时被绑定了两个属性:__st...

  • python的生成器和协程

    上面是一个简单的生成器,在第一次调用g.send(None)的时候,生成器开始从头一直执行到yield处(yield未返回),生成器暂停,并携带...

  • 闭包

    什么是闭包 我们可以将闭包理解为一个函数引用了它所在词法作用域的变量之后形成的一种数据结构.词法作用域,就是定义一个函数时,对它可见的作用域,又...

  • Ruby的eval家族

    元编程与eval 所谓元编程就是"生成代码的代码". 对于"解释型"的编程语言,由于程序整个运行时期都依赖于解释器,最简单的方式就是让语言提供一...

  • Y组合子

    Y组合子要解决的问题是如何用纯正的lambda表达式实现递归以阶乘为例,可以采用下面的代码以递归的形式表达: 要求一个自然数n的阶乘只要调用f ...