Anonymous Function

An anonymous function is a shorthand function without a name. It can be used in the following ways:

  • assigned to another function as a parameter

  • assigned to a variable for future use

  • serve as the return object of another function

  • for in place call

Syntax

def (parameters){statements}

or

def (parameters): expression

Examples

Assigned to another function as a parameter:

$ each(def(a,b):a+b, 1..10, 2..11);
[3,5,7,9,11,13,15,17,19,21]
// for more details, please see function each

Assigned to a variable for future use:

$ g=def(x):2*x;
$ g(2);
4

Serve as the return object of another function:

$ def f(x){return def(k): k*x};
$ f(7)(8);
56

In place call:

$ def(a,b){return (a+1)*(b+1)} (4,5);
30

Except for user-defined aggregate functions (see Named Function), DolphinDB supports user-defined anonymous aggregate functions. The syntax is basically the same as that of anonymous functions.

$ f = defg (x){return sum(x)+1};
$ x = 1..5;
$ f(x);
16
$ f = defg (x){return defg(k): sum(k*x)}
$ x = 1..5
$ y = 6..10
$ f(x)(y)
130