The multi-assignment allows to extract elements from a list into different variables. It is similar to the head-tail-notation of Prolog but here we can create complex structures.
Example:
The examples creates a list of numbers within the range [1,20) and similar to the deconstruct operator assigns the numbers of the list to variables.
Resulting inL = collection/list/range(1, 20); [A|B|C|_|D|E|F|G] = L;
- A ← 1
- B ← 2
- C ← 3
- (the garbage bin variable
_
causes the number 4 to be ignored)- D ← 5
- E ← 6
- F ← 7
- G ← [8, … 19]