Raku-Kurs / Fortgeschritten / Mehr über eingebaute Typen
Sets, Bags und Mixes
Neben Arrays und Hashes bietet Raku einige spezialisierte Container
für Sammlungen von Werten. Der einfachste ist das Set —
eine ungeordnete Sammlung von verschiedenen Werten, bei der
jeder Wert entweder enthalten ist oder nicht, und Duplikate ignoriert
werden.
Du erstellst ein Set mit der set-Routine. Wiederholte
Werte werden zu einem zusammengefasst:
my $s = set(1, 2, 3, 2, 1);
say $s.elems; # 3Obwohl fünf Zahlen übergeben wurden, hat das Set nur drei Elemente,
weil 1 und 2 mehr als einmal vorkamen.
Die wichtigste Frage, die du an ein Set stellst, ist, ob ein Wert
darin enthalten ist. Der Operator ∈ (lies: “ist Element
von”) gibt einen Booleschen Wert zurück:
say 2 ∈ set(1, 2, 3); # True
say 9 ∈ set(1, 2, 3); # FalseWenn du lieber reines ASCII verwenden möchtest, kann derselbe
Operator als (elem) geschrieben werden:
say 2 (elem) set(1, 2, 3); # TrueDie folgenden Themen zeigen, wie man Sets kombiniert, und stellen Bags und Mixes vor, die enge Verwandte des Sets sind.
Themen in diesem Abschnitt
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Abschnitts.
Übungen
Dieser Abschnitt enthält 3 Übungen. Sehen Sie sich alle Themen dieses Abschnitts an, bevor Sie mit den Übungen beginnen.