Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Reductie / Exercises / De langste string

Oplossing: De langste string

Hier is een mogelijke oplossing voor de taak.

Code

my @animals = 'cat', 'elephant', 'dog', 'fox';

say @animals.reduce(-> $a, $b { $b.chars > $a.chars ?? $b !! $a });

🦋 Je kunt de broncode vinden in het bestand longest-string.raku.

Uitvoer

elephant

Opmerkingen

  1. Het blok houdt de langste van zijn twee argumenten: $a is de langste string die tot nu toe gezien is, $b is de volgende, en de ternaire uitdrukking geeft degene met de meeste tekens terug.

  2. reduce draagt die winnaar bij de volgende aanroep als $a mee, dus is na het doorlopen van de hele lijst de opgebouwde waarde de langste string van allemaal — elephant.

Cursusnavigatie

De langste string   |   Lijst met komma’s