擅长:python、mysql、java
<p>“lambda”这个名字只是一件历史文物。我们所说的只是一个值为函数的表达式。</p>
<p>一个简单的例子(下一行使用Scala)是:</p>
<pre><code>args.foreach(arg => println(arg))
</code></pre>
<p>其中,<code>foreach</code>方法的参数是匿名函数的表达式。上面这一行或多或少与编写类似的内容相同(虽然不是真正的代码,但您会明白这一点):</p>
<pre><code>void printThat(Object that) {
println(that)
}
...
args.foreach(printThat)
</code></pre>
<p>除了你不需要麻烦:</p>
<ol>
<li>在其他地方声明函数(并且在以后重新访问代码时必须查找它)。</li>
<li>命名你只使用一次的东西。</li>
</ol>
<p>一旦你习惯了函数值,就不得不不用它们,这就跟要求你给每个表达式命名一样愚蠢,比如:</p>
<pre><code>int tempVar = 2 * a + b
...
println(tempVar)
</code></pre>
<p>而不只是在需要的地方编写表达式:</p>
<pre><code>println(2 * a + b)
</code></pre>
<p>准确的符号因语言而异;希腊语并不总是必需的!;-)</p>