el.*_*ado 13
实际上有两个叫做"lambda表达式"的东西,它们相关性很小:
Lambda表达式是lambda演算的基本部分,与函数式编程密切相关
在命令式语言中,lambda表达式通常是匿名方法的同义词.例如,在C#中,您可以将lambda表达式(即表达式本身,而不仅仅是其结果)作为参数传递:
C#:
someCollection.Apply (x => 2*x); // apply expression to every object in collection
// equivalent to
someCollection.Apply (delegate (int x) { return 2 * X; });
Run Code Online (Sandbox Code Playgroud)
话虽如此,C不支持匿名方法.但是,您可以使用函数指针来实现类似的结果:
int multiply (int x)
{
return 2 * x;
}
...
collection_apply (some_collection, multiply);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1652 次 |
| 最近记录: |