没有让他们使用那么多,我不太确定所有的方法 可以使用 lambda 定义(除了 map/collect/do/轻量级局部函数语法)。对于有兴趣发布一些示例的任何人:
提供解释以帮助读者了解如何使用 lambda 定义;
示例的首选语言:Python、Smalltalk、Haskell。
最佳答案
您可以使用 lambda 构建函数式数据结构。这是一个简单的列表 - 函数列表 (Python),支持 add
和 contains
方法:
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
我只是为了好玩而快速编码 - 请注意,您不允许按原样添加任何虚假值。它也不是尾递归,而良好的函数结构应该是尾递归的。供读者练习!
关于function - lambda 定义有什么乐趣?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292621/