Voorrangsregels

Volgorde van evaluatie

De evaluatie van expressies gebeurt volgens de gebruikelijke voorrangsregels. Bijvoorbeeld een * gaat vóór op een +, de evaluatie gebeurt standaard van links naar rechts, en met haakjes kan een andere volgorde van evaluatie afgedwongen worden.

Voorbeeld Resultaat Type Toelichting
2 + 3 * 4 14 Integer De * gaat vóór op de +.
(2 + 3) * 4 20 Integer Gebruik zonodig haakjes om de voorrang af te dwingen.
1 + 2 > 3 + 4 false Boolean De + gaat vóór op de >.
if true then 10 else 20 end + case when 1 < 2 then -1 when 1 > 2 then 1 else 0 end 9 Integer De if expressie en case expressie gaan vóór op de +.
1 + "2" + 3 "123" String De evaluatie bij de gelijke operatoren is van links naar rechts. De evaluatie van 1 + "2" levert "12" op doordat de "2" een string is en de + operator dan een concatenatie is. De evaluatie van "12" + 3 levert om dezelfde reden "123" op.
1 + 2 + "3" "33" String De evaluatie van 1 + 2 is numeriek en levert 3 op. De evaluatie van 3 + "3" is een concatenatie en levert "33" op.
1 < 2 = 3 < 4 true Boolean De < gaat vóór op de =.
true and false or true and true true Boolean De and gaat vóór op de or.

Voorrangsvolgorde

In onderstaand overzicht hebben de eerdere constructies voorrang op de latere constructies.

Constructie Toelichting
Primary Functie aanroep, expressie tussen haakjes ( en ), if expressie, case expressie, select expressie.
Unary Unaire operatoren, momenteel alleen de not.
Multiplicative De operatoren * en /.
Additive De operatoren + en -.
Relational De operatoren <, <=, >= en >.
Equality De operatoren = en !=.
And De operator and.
Or De operator or.