说到函数式编程,必然会让人想起lambda表达式。lambda表达式用来定义匿名函数。本文介绍lambda表达式在C++/MATLAB/Python中相应的语法,并分别给出两数求和的例子。
C++11增加了lambda表达式,用于替换函数指针和函数对象(function object / functor)。定义匿名函数的格式为:
[] (<parameters>) {<body>}
例如:
auto sum_xy=[] (int x,int y) {return x+ y;};
MATLAB通过定义匿名函数来增强符号运算的功能,哦,原来与数值运算相对的符号运算其实是函数式编程。定义匿名函数的格式为:
@(<parameters>) <body>
例如:
sum_xy = @(x, y) x + y
Python中定义匿名函数的格式为:
lambda <parameters>: <body>
例如:
sum_xy = lambda x: x + y