Cursus Raku / Addendum 🆕 / Werken met gegevens / Lijsten, arrays en hashes / Exercises / De op één na grootste waarde

Oplossing: De op één na grootste waarde

Hier is een mogelijke oplossing voor de taak.

Code

my @numbers = 3, 9, 4, 9, 1, 7;

my @distinct = @numbers.Set.keys.sort;

say @distinct[*-2];

🦋 Je kunt de broncode vinden in het bestand second-largest.raku.

Uitvoer

7

Opmerkingen

  1. De lijst met .Set in een Set veranderen gooit de dubbele 9 weg, aangezien een verzameling elke waarde slechts één keer bevat.

  2. .keys geeft de verschillende waarden terug — nog steeds Ints, geen strings — dus zet een gewone .sort ze numeriek op volgorde. De op een na grootste staat dan één plek voor het einde, [*-2].

Cursusnavigatie

De op één na grootste waarde   |   Splits in even en oneven