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; # 14De 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; # 20Associativiteit
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; # 3Dit is (8 - 3) - 2, wat 3 oplevert.
Machtsverheffing daarentegen is rechts-associatief:
say 2 ** 3 ** 2; # 512Hier 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; # FalseDe 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.