Skip to content

Define custom operators

You can define operators in a very similar way as groovy's.

Each operator is associated to a function. To define an operator for a given type.

Here is the table of functions to define for each operator

Define operators from extensions

Operator Method
a + b a.plus(b)
a - b a.minus(b)
- a a.negate()
a * b a.multiply(b)
a % b a.mod(b)
a / b a.div(b)
a << b a.leftShift(b)
a >> b a.rightShift(b)
a[b] a.getAt(b)
a?[b] a.getAtSafe(b)
a[b, c, d] a.getAt(b, c, d)
a[b] = c a.putAt(b, c)
a?[b] = c a.putAtSafe(b, c)