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

elephant

Kommentare

  1. Der Block behält die längere seiner beiden Argumente: $a ist die bisher längste Zeichenkette, $b die nächste, und der ternäre Ausdruck liefert diejenige mit mehr Zeichen.

  2. reduce trägt diesen Sieger beim nächsten Aufruf als $a weiter, nach dem Durchlaufen der ganzen Liste ist der aufgelaufene Wert also die längste Zeichenkette von allen — elephant.

Kursnavigation

Die längste Zeichenkette   |   Kommagetrennte Liste