function - lambda 定义有什么乐趣?

标签 function lambda language-agnostic closures

没有让他们使用那么多,我不太确定所有的方法 可以使用 lambda 定义(除了 map/collect/do/轻量级局部函数语法)。对于有兴趣发布一些示例的任何人:

  • 提供解释以帮助读者了解如何使用 lambda 定义;

  • 示例的首选语言:Python、Smalltalk、Haskell。

最佳答案

您可以使用 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

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

关于function - lambda 定义有什么乐趣?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292621/

相关文章:

c - 在 C 中使用用户输入的字符串从一个函数到另一个函数

Java 从泛型 Class 对象获取方法

java - 有没有办法从 ifPresent 方法向调用方法返回可选值?

language-agnostic - 免费构建和检查构建之间有什么区别?

language-agnostic - 使用 DI 框架进行本地化 - 好主意?

c - C 中的反转数函数

r - Knit - 使用 Sexpr 定义调用 R 函数的 Latex 命令

C# 表达式 Lambda

java - 编写 Java 7 库代码以与 Java 8 lambda 配合使用

language-agnostic - 实践中的私有(private)与公共(public)成员(封装有多重要?)