Cursus Raku / Geavanceerd / Besturingsstructuren / gather en
take / Exercises / Elk getal
herhalen
Oplossing: Elk getal herhalen
Hier is een mogelijke oplossing voor de opgave.
Code
my @result = gather for 1..4 -> $n {
take $n for 1..$n;
};
say @result;🦋 Je kunt de broncode vinden in het bestand collect-the-evens.raku.
Uitvoer
[1 2 2 3 3 3 4 4 4 4]Opmerkingen
Niets dwingt een enkele
takeper iteratie af. Hier voert de binnenstetake $n for 1..$ntakeeen verschillend aantal keren uit bij elke doorgang, wat precies de flexibiliteit is diegather/takekrachtiger maakt dan een gewonemap.De buitenste lus gebruikt met opzet een benoemde variabele
-> $n. Als we de binnenste lus met$_zouden schrijven, zou de binnenstefor$_opnieuw binden aan zijn eigen teller, en zouden we de teller nemen in plaats van het huidige getal.gatherverzamelt eenvoudigweg elke waarde die genomen is, in volgorde, dus@resultbevat uiteindelijk1, dan twee2’s, dan drie3’s, dan vier4’s.
Cursusnavigatie
← Elk getal herhalen | Kwadraten →