可能有人提供的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中,拉姆达是用于表示匿名的功能或关闭,以下演算使用的运算符。