Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung
Funktionen höherer Ordnung
In Raku ist eine Subroutine ein gewöhnlicher Wert: Sie können sie in einer Variablen ablegen, sie einer anderen Subroutine übergeben und sie als Ergebnis zurückliefern. Eine Subroutine, die eine andere Subroutine aufnimmt oder zurückgibt, heißt Funktion höherer Ordnung, und sie ist das Herz der funktionalen Programmierung.
Funktionen höherer Ordnung haben Sie schon verwendet, ohne sie so zu
nennen — map, grep und sort
nehmen alle einen Codeblock als Argument. Dieser Abschnitt zeigt, wie
Sie eigene schreiben.
Diese blockannehmenden Methoden sind auch ein natürlicher Ort für die
Form mit Doppelpunkt, die Ihnen erlaubt, die Klammern
wegzulassen — (1..10).grep: * %% 2 statt
(1..10).grep(* %% 2). Sie wird in Aufrufen mit Doppelpunkt eingeführt,
und die Abkürzung *, die sie verwendet, ist der Whatever-Stern.
Themen in diesem Abschnitt
Praxis
Lösen Sie 2 Quizze 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.