22-10-2023
Анонимная (безымянная) функция — в программировании особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа к ним. Обычно при создании они либо вызываются напрямую, либо ссылка на функцию присваивается переменной, с помощью которой затем можно косвенно вызывать данную функцию.
Синтаксис записи анонимных функций для различных языков программирования в большинстве случаев сильно различается.
Язык | Пример записи сложения |
---|---|
C# |
(x,y) => x+y |
C++11 | Общая форма:
[capture](parameters)->return-type{body} или [capture](parameters){body} Пример: [](int x, int y){ return x + y; } |
CoffeeScript |
(x, y) -> x + y |
D |
delegate(int x, int y){ return x+y; } |
Delphi (c 2009 версии) |
function(x, y: integer): integer begin result := x+y; end; |
Erlang |
fun(X,Y)->X+Y end |
GNU Octave |
@(x,y)x+y |
Groovy |
{x,y->x+y} |
Haskell |
\x y -> x + y |
JavaScript |
function(x,y) {return x+y} |
Lua |
function(x,y) return x+y end |
Maple |
(x, y) -> x + y |
Mathematica |
#1+#2& или Function[#1+#2] или Function[{x,y},x+y] |
MATLAB |
f=@(x,y) x+y |
Perl |
sub { return $_[0] + $_[1] } |
PHP |
// PHP 5.3 function($x, $y) { return $x + $y; } // PHP 4 >= 4.0.1, PHP 5 create_function('$x, $y', 'return $x + $y;') |
Python |
lambda х, у: х+у |
R |
function(x,y) x+y |
Ruby |
proc{|x,y| x + y } |
Scheme |
(lambda (x y) (+ x y)) |
Анонимные функции.