# 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
```