Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Reduktion / Exercises / Kommagetrennte Liste
Lösung: Kommagetrennte Liste
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @words = 'Raku', 'is', 'fun';
say @words.reduce(-> $a, $b { "$a, $b" });🦋 Du findest den Quellcode in der Datei comma-separated.raku.
Ausgabe
Raku, is, funKommentare
Hier baut der Block einen Wert, statt einen auszuwählen:
$aist die bisher zusammengesetzte Zeichenkette und$bdas nächste Wort, und"$a, $b"klebt sie mit einem Komma und einem Leerzeichen zusammen.Der erste Aufruf verbindet
'Raku'und'is'zuRaku, is; der zweite verbindet das mit'fun'zuRaku, is, fun. Das ist genau die Art von Verbinden mit Trennzeichen, die der Metaoperator[~]allein nicht ausdrücken kann.In echtem Code würden Sie zur eingebauten Methode
joingreifen, die genau das tut —say @words.join(', ');gibt dasselbeRaku, is, funaus. Sinn der Übung ist es, denselben Gedanken alsreduce-Block auszudrücken.