Raku-Kurs / Fortgeschritten / Operatoren

Typen von Raku-Operatoren

Sie haben bereits viele Operatoren verwendet — +, ~, ++ und so weiter. In Raku werden Operatoren danach klassifiziert, wo sie relativ zu ihren Operanden stehen. Die Kenntnis dieser Kategorien hilft Ihnen später, wenn Sie eigene Operatoren definieren.

prefix

Ein Präfix-Operator steht vor einem einzelnen Operanden:

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

Hier negiert - die Zahl und ? wandelt einen Wert in seinen Booleschen Wert um.

infix

Ein Infix-Operator steht zwischen zwei Operanden. Die meisten bekannten Arithmetik- und String-Operatoren sind Infix-Operatoren:

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

Ein Infix-Operator ist nicht immer ein Satzzeichen — er kann auch ein Wort sein. Der Operator gcd, den Sie bei den ganzen Zahlen kennengelernt haben, ist zum Beispiel ein Infix-Operator, der als Name zwischen seinen beiden Operanden steht:

say 12 gcd 18;   # 6

postfix

Ein Postfix-Operator steht nach einem einzelnen Operanden:

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

circumfix und postcircumfix

Ein Circumfix-Operator umschließt seinen Operanden. Die eckigen Klammern, die ein Array erzeugen, sind ein Circumfix-Operator:

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

Ein Postcircumfix-Operator umschließt etwas, folgt aber auf einen Term. Die Indizierung ist ein Postcircumfix-Operator — das [1] nach @a:

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

Diese Bezeichnungen — prefix, infix, postfix, circumfix und postcircumfix — sind dieselben Wörter, die Raku verwendet, wenn Sie einen neuen Operator deklarieren, wie Sie später sehen werden.

Praxis

Lösen Sie 3 Quizze zum Inhalt dieses Themas.

Übungen

Dieser Abschnitt enthält 3 Übungen. Sehen Sie sich alle Themen dieses Abschnitts an, bevor Sie mit den Übungen beginnen.

  1. Hochzählen
  2. Boolescher Wert eines Werts
  3. Einen Hash indizieren

Kursnavigation

Operatoren   |   Hochzählen