Swapping

The binary swap operator <-> can be used to exchange the values of two variables. It is only allowed in a statement and is not allowed in expressions.

var a = 1
var b = 2
a <-> b
// `a` is `2`
// `b` is `1`

var c = 3

// Invalid: The swap operation cannot be used in an expression.
a <-> b <-> c

// Instead, the intended swap must be written in multiple statements.
b <-> c
a <-> b

Both sides of the swap operation must be variable, assignment to constants is invalid.

var a = 1
let b = 2

// Invalid: Swapping is only possible for variables, not constants.
a <-> b

Both sides of the swap operation must be an identifier, followed by one or more index or access expressions.

Last updated