For functions that DataWeave provides, you can represent the first, second, and third arguments of the passed lambda as $, $$, and $$$, respectively. When you do this, you do not need to specify the arguments of the lambda when you pass it to the function.
This type of notation is referred to as infix since the operator is in between the two operands that it is working on.
In other words, lambdas become useful when you want to pass functions as arguments to other functions, or return a function from a function.
DataWeave provides multiple ways to create functions. Just like we have named functions, we have functions without names, called lambdas.
We create functions in the declarations section of the script using the fun keyword. This associates a set of functionality with a name.
You can define your own DataWeave functions using the fun declaration in the header of a DataWeave script.
A match expression contains a list of case statements that can optionally have an else statement. Each case statement consists of a conditional selector expression that must evaluate to either true or false.
A do statement creates a scope in which new variables, functions, annotations, or namespaces can be declared and used.
You can chain several else expressions together within an if-else construct by incorporating else if.
An if statement evaluates a conditional expression and returns the value under the if only if the conditional expression returns true. Otherwise, it returns the expression under else. Every if expression must have a matching else expression.