Priorytety operatorów

Wyrażenia złożone z wielu operatorów oraz argumenty wyrażeń zawierające operatory są wykonywane wg nasępującej kolejności (priorytetu):

- operator indeksowania , najwyższy priorytet
- operator dostępu do składowych @
- operator potęgowania ^
- operatory jednoargumentowe: + -
- operatory arytmetyczne: * / % i iloczyn bitowy: &
- operatory arytmetyczne dwuargumentowe: + - i suma bitów: |
- argument o dowolnym typie, poza wartością logiczną
- operatory: = < > <= >= <>
- logiczna koniunkcja && i negacja !
- logiczna alternatywa ||
- argument o wartości logicznej
- operator przypisania :=, operatory arytmetyczne +=, -=, *=, /= i operatory bitowe |=, &= najniższy priorytet

Operatory o jednakowym priorytecie są wykonywane wg kolejności wystąpienia w kodzie programu. Kolejność wykonania można zmienić obejmując wyrażenia w nawiasy. Możesz użyć podświetlania tła wyrażeń aby sprawdzić jak została zinterpretowana hierarchia operatorów.

Przykład:

print 2 * 3 + 1
print 2 * (3 + 1)

"a := {1 2 9}
print :a,1 + 2
print :a,(1 + 2)

Rezultat wykonania:

7
8
3
9

Zobacz także:

Spis treści