Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung

Generatoren

Ein Generator ist eine Routine, die eine Reihe von Werten einen nach dem anderen erzeugt und jeden auf Anforderung liefert, statt die ganze Liste vorab zu bauen. Raku schreibt das mit dem Paar gather / take: Innerhalb eines gather-Blocks reicht jedes take einen Wert an die entstehende Sequenz, und der Block pausiert genau dort, bis der nächste Wert abgeholt wird.

Weil die Werte träge erzeugt werden — erst, wenn nach ihnen gefragt wird —, kann ein Generator sogar eine endlose Reihe beschreiben. Dieser Abschnitt zeigt, wie man Sequenzen mit gather und take baut. Die tieferliegende Maschinerie, die diese Werte tatsächlich einen nach dem anderen herausholt, ist das Thema des nächsten Abschnitts, Iteratoren.

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. Sammeln Sie die Kubikzahlen
  2. Sammeln Sie die Vielfachen von drei
  3. Sammeln mit einer Bedingung

Kursnavigation

Lösung: Sortieren mit einem Feed   |   gather und take