Lt304888.ru

Туристические услуги

Анонимные функции

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; }
[1]
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}
[2]
Lua
function(x,y) return x+y end
Maple
(x, y) -> x + y
Mathematica
#1+#2&

или

Function[#1+#2]

или

Function[{x,y},x+y]
[3]
MATLAB
f=@(x,y) x+y
Perl
sub { return $_[0] + $_[1] }
[4]
PHP
// PHP 5.3
function($x, $y) { return $x + $y; }

[5]

// PHP 4 >= 4.0.1, PHP 5
create_function('$x, $y', 'return $x + $y;')

[6]

Python
lambda х, у: х+у
[7]
R
function(x,y) x+y
Ruby
proc{|x,y| x + y }
[8]
Scheme
(lambda (x y) (+ x y))

Примечания

  1. C++11. Лямбда-выражения
  2. Описание в справочнике «Ядро JavaScript»
  3. Mathematica Documentation: Function (&)
  4. perldoc perlref (англ.)
  5. PHP Manual
  6. PHP Manual
  7. Раздел учебника «Освой Python за 24 часа самостоятельно»
  8. Описание в книге «Programming Ruby» (англ.)

См. также

Анонимные функции.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01