Cursus Raku / Geavanceerd / Operatoren

Typen Raku-operatoren

Je hebt al veel operatoren gebruikt — +, ~, ++, enzovoort. In Raku worden operatoren ingedeeld op basis van waar ze staan ten opzichte van hun operanden. Het kennen van de categorieën helpt later, wanneer je je eigen operatoren definieert.

prefix

Een prefix-operator komt voor een enkele operand:

my $x = 5;
say -$x; # -5
say ?$x; # True

Hier negeert - het getal en zet ? een waarde om naar zijn Booleaanse waarde.

infix

Een infix-operator staat tussen twee operanden. De meeste bekende rekenkundige en string-operatoren zijn infix:

say 3 + 4;       # 7
say 'a' ~ 'b';   # ab

Een infix-operator is niet altijd een leesteken — het kan ook een woord zijn. De gcd-operator die je tegenkwam bij gehele getallen is bijvoorbeeld een infix-operator die als een naam tussen zijn twee operanden geschreven wordt:

say 12 gcd 18;   # 6

postfix

Een postfix-operator komt na een enkele operand:

my $x = 5;
$x++;
say $x; # 6

circumfix en postcircumfix

Een circumfix-operator omsluit zijn operand. De vierkante haken die een array opbouwen zijn een circumfix-operator:

my @a = [1, 2, 3];

Een postcircumfix-operator omsluit iets maar volgt op een term. Subscripting is een postcircumfix-operator — de [1] na @a:

my @a = 10, 20, 30;
say @a[1]; # 20

Deze namen — prefix, infix, postfix, circumfix en postcircumfix — zijn dezelfde woorden die Raku gebruikt wanneer je een nieuwe operator declareert, zoals je later zult zien.

Praktijk

Maak de 3 quizzen 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. Optellen
  2. Booleaanse waarde
  3. Een hash subscripten

Cursusnavigatie

Operatoren   |   Optellen