Cursus Raku / Geavanceerd / Operatoren

Overzicht van operatorgedrag

Wanneer een expressie meerdere operatoren bevat, moet Raku beslissen in welke volgorde ze worden toegepast. Twee regels bepalen dit: voorrang en associativiteit.

Voorrang

Voorrang bepaalt welke operator sterker bindt. Vermenigvuldiging heeft een hogere voorrang dan optelling, dus wordt deze eerst uitgevoerd:

say 2 + 3 * 4; # 14

De expressie wordt gelezen als 2 + (3 * 4), wat 14 oplevert in plaats van 20. Je kunt altijd haakjes gebruiken om een andere volgorde af te dwingen:

say (2 + 3) * 4; # 20

Associativiteit

Associativiteit bepaalt de volgorde tussen operatoren met dezelfde voorrang. Aftrekking is links-associatief, dus wordt er van links naar rechts gegroepeerd:

say 8 - 3 - 2; # 3

Dit is (8 - 3) - 2, wat 3 oplevert. Machtsverheffing daarentegen is rechts-associatief:

say 2 ** 3 ** 2; # 512

Hier wordt de expressie gegroepeerd als 2 ** (3 ** 2), dat wil zeggen 2 ** 9, wat 512 is.

Geschakelde vergelijkingen

Vergelijkingsoperatoren kunnen geschakeld worden, wat natuurlijk leest en doet wat je verwacht vanuit de wiskunde:

say 1 < 2 < 3; # True
say 1 < 5 < 3; # False

De middelste waarde wordt met beide buren vergeleken: 1 < 2 < 3 is waar omdat 1 < 2 en 2 < 3 beide waar zijn.

Praktijk

Maak de 1 quiz over de inhoud van dit onderwerp.

Oefeningen

Deze sectie bevat 3 oefeningen. Bekijk alle onderwerpen van deze sectie voordat je aan de oefeningen begint.

  1. De volgorde afdwingen
  2. Machtstoren
  3. Gekoppelde vergelijking

Cursusnavigatie

Quiz — Een woordoperator   |   De volgorde afdwingen