什么是Lambda?

时间:2020-03-06 14:53:26  来源:igfitidea点击:

有人可以很好地描述Lambda是什么吗?我们为它们添加了标签,并且它们位于Cquestion的秘密上,但是我还没有找到关于它们的含义的良好定义和解释。

解决方案

摘自维基百科:http://en.wikipedia.org/wiki/Lambda#Lambda.2C_the_word

在诸如Lisp和Python之类的编程语言中,lambda是一种运算符,用于表示使用lambda演算后的匿名函数或者闭包。

它只是一个内联声明的匿名函数,通常在我们不想编写完整函数时通常分配给委托。

在像lisp / scheme这样的语言中,它们通常作为函数参数被广泛使用,但是Ctypically中的习惯用法发现lambda仅用于函数的惰性求值(如linq),或者用于使事件处理代码更简洁。

" Lambda"是指Lambda演算或者特定的Lambda表达式。 Lambda演算基本上是处理函数的逻辑和数学分支,并且是功能编程语言的基础。

〜威廉·赖利·兰德

也称为闭包或者匿名函数。
我在这里找到了最好的描述。基本上,内联代码块可以作为参数传递给函数。

在编程中并没有真正的" lambda"之类的东西。这取决于语言等。

简而言之,通常,具有" lambdas"的语言会将该术语用于匿名函数或者在某些情况下使用闭包。像这样,在Ruby中:

f = lambda { return "this is a function with no name" }
puts f.call

闭包,lambda和匿名函数不一定是同一回事。

匿名函数是任何没有(或者至少不需要)自己名称的函数。

闭包是一种函数,即使声明超出范围,也可以访问在声明时处于其词法范围内的变量。匿名函数不一定必须是闭包,但是它们在大多数语言中都可用,而当不是时,它们的用处就更少了。

就计算机科学而言,lambda的定义不太好。许多语言甚至不使用该术语。取而代之的是,他们只会称其为闭包或者匿名函数,或者发明自己的术语。在LISP中,lambda只是一个匿名函数。在Python中,lambda是一个匿名函数,专门限于单个表达式。还有更多,我们需要一个命名函数。 Lambda是两种语言的闭包。