An operator behaves generally like functions,
but differs syntactically or semantically.
Common simple examples include arithmetic (e.g. addition with +
) and
logical operations (e.g. &
).
An operator can be used anywhere in a tag expression
wherever that particular operator should be performed.
The TemplateEngine supports several standard operators.
You can use prepackaged [template_engine] operators or add your own custom
operators by manipulating the TemplateEngine.operatorGroups field.
See Example .
description:
Groups expressions together: What is between parentheses gets processed first
expression example:
{{2+1*3}} should render: 6 {{(2+1)*3}} should render: 9
code example:
parentheses_test.dart
parameter type: number
description:
Optional prefix for positive numbers
expression example:
{{+3}} should render: 3
code example:
positive_test.dart
parameter type: number
description:
Prefix for a negative number
expression example:
{{-3}} should render: -3
code example:
negative_test.dart
parameter type: boolean
description:
Prefix to invert a boolean, e.g.: !true =false
expression example:
{{!true}} should render: false
code example:
not_test.dart
parameter type: number
description:
Calculates a number to the power of the exponent number
expression example:
{{2^3}} should render: 8
code example:
num_power_test.dart
parameter type: boolean
description:
Logical XOR with two booleans
expression example:
{{true^false}} should render: true
code example:
bool_xor_test.dart
parameter type: number
description:
Multiplies 2 numbers
expression example:
{{2*3}} should render: 6
code example:
num_multiply_test.dart
parameter type: number
description:
Divides 2 numbers
expression example:
{{6/4}} should render: 1.5
code example:
num_divide_test.dart
parameter type: number
description:
Calculates the modulo (rest value of a division)
expression example:
{{8%3}} should render: 2
code example:
num_modulo_test.dart
parameter type: boolean
description:
Logical AND operation on two booleans
expression example:
{{true&true}} should render: true
code example:
bool_and_test.dart
parameter type: String
description:
Concatenates two strings
expression example:
{{"Hel"&"lo"}} should render: Hello
code example:
string_concatenate_test.dart
parameter type: number
description:
Adds two numbers
expression example:
{{2+3}} should render: 5
code example:
num_addition_test.dart
parameter type: String
description:
Concatenates two strings
expression example:
{{"Hel"+"lo"}} should render: Hello
code example:
string_concatenate_test.dart
parameter type: number
description:
Subtracts two numbers
expression example:
{{5-3}} should render: 2
code example:
num_subtract_test.dart
parameter type: boolean
description:
Logical OR operation on two booleans
expression example:
{{false|true}} should render: true
code example:
bool_or_test.dart
parameter type: Object
description:
Checks if two values are equal
expression example:
{{5==2+3}} should render: true
code example:
equals_test.dart
parameter type: Object
description:
Checks if two values are NOT equal
expression example:
{{4!=2+3}} should render: true
code example:
not_equals_test.dart
Greater Than Or Equal Operator >=
parameter type: number
description:
Checks if the left value is greater than or equal to the right value
expression example:
{{2>=2}} should render: true
code example:
greater_than_or_equal_test.dart
parameter type: number
description:
Checks if the left value is greater than the right value
expression example:
{{2>1}} should render: true
code example:
greater_than_test.dart
Less Than Or Equal Operator <=
parameter type: number
description:
Checks if the left value is less than or equal to the right value
expression example:
{{2<=2}} should render: true
code example:
less_than_or_equal_test.dart
parameter type: number
description:
Checks if the left value is less than the right value
expression example:
{{2>1}} should render: true
code example:
less_than_test.dart
description:
Assigns a value to a variable. A new variable will be created when it did not exist before, otherwise it will be overridden with a new value.
expression example:
{{x=2}}{{x=x+3}}{{x}} should render: 5
code example:
assignment_test.dart