Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Samazināšana / Exercises / Garākā virkne

Risinājums: Garākā virkne

Šeit ir iespējams risinājums uzdevumam.

Kods

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

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

🦋 Atrodiet programmu failā longest-string.raku.

Izvade

elephant

Komentāri

  1. Bloks patur garāko no saviem diviem argumentiem: $a ir līdz šim garākā redzētā virkne, $b ir nākamā, un trīsvērtīgais operators atgriež to, kurā ir vairāk rakstzīmju.

  2. reduce šo uzvarētāju nes tālāk kā nākamā izsaukuma $a, tāpēc pēc visa saraksta izstaigāšanas uzkrātā vērtība ir garākā virkne no visām — elephant.

Kursa navigācija

Garākā virkne   |   Ar komatiem atdalīts saraksts