与Lambdas一起玩耍

Rom*_*her 10 language-agnostic lambda closures function

没有他们使用它们我不太确定所有lambdas/blocks都可以用于(除了map/collect/do /轻量级本地函数语法).如果有些人可以发布一些有趣但有些可理解的例子(有解释).

示例的首选语言:python,smalltalk,haskell

dan*_*ben 2

您可以用 lambda 构建函数式数据结构。这是一个简单的 - 功能列表(Python)、支持addcontains方法:

empty = lambda x : None

def add(lst, item) :
    return lambda x : x == item or lst(x)

def contains(lst, item) :
    return lst(item) or False
Run Code Online (Sandbox Code Playgroud)

我只是为了好玩而快速编码 - 请注意,您不允许按原样添加任何虚假值。它也不是尾递归,而良好的函数结构应该是尾递归的。供读者练习!