Анонимная функция
Материал из Википедии — свободной энциклопедии
(перенаправлено с «Анонимные функции»)
Анонимная (безымянная) функция — в программировании особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа к ним. Обычно при создании они либо вызываются напрямую, либо ссылка на функцию присваивается переменной, с помощью которой затем можно косвенно вызывать данную функцию.
[править] Синтаксис
Синтаксис записи анонимных функций для различных языков программирования в большинстве случаев сильно различается.
| Язык | Пример записи сложения |
|---|---|
| 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)) |
[править] Примечания
- ↑ C++11. Лямбда-выражения
- ↑ Описание в справочнике «Ядро JavaScript»
- ↑ Mathematica Documentation: Function (&)
- ↑ perldoc perlref (англ.)
- ↑ PHP Manual
- ↑ PHP Manual
- ↑ Раздел учебника «Освой Python за 24 часа самостоятельно»
- ↑ Описание в книге «Programming Ruby» (англ.)