Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Reduktion / Exercises / Die längste Zeichenkette
Lösung: Die längste Zeichenkette
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @animals = 'cat', 'elephant', 'dog', 'fox';
say @animals.reduce(-> $a, $b { $b.chars > $a.chars ?? $b !! $a });🦋 Du findest den Quellcode in der Datei longest-string.raku.
Ausgabe
elephantKommentare
Der Block behält die längere seiner beiden Argumente:
$aist die bisher längste Zeichenkette,$bdie nächste, und der ternäre Ausdruck liefert diejenige mit mehr Zeichen.reduceträgt diesen Sieger beim nächsten Aufruf als$aweiter, nach dem Durchlaufen der ganzen Liste ist der aufgelaufene Wert also die längste Zeichenkette von allen —elephant.