gpt4 book ai didi

lambda - 采访: What is Lambda expression?

转载 作者:行者123 更新时间:2023-12-03 06:38:55 27 4
gpt4 key购买 nike

我最近接受了两次电话面试。

在两次面试中,我都被问到定义 Lambda 表达式的最后一个问题。

我声称 Lambda 表达式是代替委托(delegate)的未命名方法。但不知怎的,这还不够。

我发现很难在电话采访中准确地解释这一点。

有人更了解吗?

最佳答案

Lambda 表达式是作为常量值给出的无名函数。它们可以出现在任何其他常量可能出现的任何地方,但通常作为参数写入其他函数。典型的例子是,您将比较函数传递给通用的“排序”例程,而不是费尽心思定义整个函数(并导致词法不连续性和命名空间污染)来描述这种比较,您可以只传递描述比较的 lambda 表达式。

然而,这忽略了 Lambda 表达式最重要的特性之一,即它们在其出现的上下文中执行。因此,他们可以使用在该上下文中定义的变量的值。这将函数指针与真正的 lambda 表达式区分开来。在支持可变变量的语言中,适当的 lambda 表达式提供了更改这些变量的值的能力。

Lambda 表达式(使用不同的语法)出现在所有 LISP、Perl、Python 以及最新版本的 C++、Objective C、C# 和 Java 8 中,但值得注意的是 C 中没有,尽管它有一种处理传递的方法函数(或它们的一些借口)作为参数。它们是具有特定语义的语法元素,这些语义对运行时的要求比 C 的设计要求更多。

关于lambda - 采访: What is Lambda expression?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832337/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com