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