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; # 3

Obwohl 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 2set(1, 2, 3); # True
say 9set(1, 2, 3); # False

Wenn du lieber reines ASCII verwenden möchtest, kann derselbe Operator als (elem) geschrieben werden:

say 2 (elem) set(1, 2, 3); # True

Die 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.

  1. Die unterschiedlichen zählen
  2. Gemeinsame Elemente
  3. In einem Bag zählen

Kursnavigation

Lösung: Wochentag   |   Mengenoperationen