什么是一个lambda?(What is a Lambda?)

2019-07-20 07:55发布

可能有人提供的LAMBDA就是一个很好的说明? 我们对他们的标签,他们是对的C#问题的秘密,但我还没有找到他们摆在首位什么好定义和解释。

Answer 1:

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

匿名函数是不具有任何功能(或者,至少,需要)它自己的名字。

闭包是可以访问是在其词法范围被宣布时,变量的函数,它们已经下降范围,甚至后。 匿名函数不一定必须是封闭的,但他们在大多数语言,变得相当的有用的时候都没有。

一个lambda是..倒不这么好,只要计算机科学去定义。 很多语言甚至不使用期限; 相反,他们将只调用它们的倒闭或匿名函数或创造自己的术语。 在LISP,一个lambda只是一个匿名函数。 在Python,拉姆达是特别限于单一表达匿名函数; 再说了,你需要一个命名的功能。 lambda表达式是在两种语言中倒闭。



Answer 2:

也叫闭包或匿名函数。我发现最好的说明这里 。 基本上,内联代码块可以被作为参数传递给函数。



Answer 3:

“LAMBDA”是指演算或特定lambda表达式。 演算基本上是逻辑和数学与功能涉及的一个分支,和是的基础功能编程语言 。

〜威廉·赖利陆



Answer 4:

它只是一个匿名函数内联声明,最典型的是分配给一个委托,当你不想写一个完整的功能。

在像口齿不清/方案的语言,他们往往通过周围相当宽松作为函数的参数,但在C#中的成语通常认为只对功能懒评估中使用Lambda表达式,如LINQ,或使事件处理代码有点更简洁。



Answer 5:

这里没有真有这样的事情在编程“拉姆达”。 这取决于语言,等等。

总之,通常是“有lambda表达式”语言使用术语匿名函数,或在某些情况下,关闭。 像这样,在Ruby中:

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


Answer 6:

为响应以前的答案:
有关匿名功能-The重要的事情不是他们不要求一个名称。
-Closures是一个独立的概念。
-A巨大的维基百科条目不使这个更清楚。

这是我在3个部分的答案:
1.一种拉姆达是一个函数,它也是一个表达式。 这是最重要的事情。
2.该实施所谓的“lambda表达式”许多语言添加一些语法糖 ,以使编写这些简短的功能更容易和更快,但这不是必需的。
3.某些语言可能需要一个lambda 没有副作用 。 这将是在功能意义上的更纯粹的λ。

当一个函数是一个表达式,这是一个“一等公民”的语言中。 我可以做所有与它的重要的事情:

x = lambda(){ return "Hello World"; }

doit( 1, 2, lambda(a,b){ return a > b; }, 3 )

x = (lambda(a){ return a+1; }) + 5  // type error, not syntax error

(lambda(a,b){ print(a); log(b); })( 1, 2 )  // () is valid operator here


Answer 7:

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

在编程语言,如Lisp和Python中,拉姆达是用于表示匿名的功能或关闭,以下演算使用的运算符。



文章来源: What is a Lambda?