Cursus Raku / Essentiëlen / Positionele datentypen / Oefeningen / Verkeerslichten
Oplossing: Verkeerslichten
Het idee van de oplossing is om de indexering van de array met de vier staten van de verkeerslichten te ‘loopen’:
my @lights = <yellow red yellow green>;
Tijdens de eerste seconden kan het aantal seconden sinds de start direct worden gebruikt als een index in de array. Wanneer het 3 overschrijdt, kun je het terug naar het begin van de array loopen met de modulo-operator %
. De lengte van de array is @lights.elems
, maar wanneer het wordt gebruikt als een operand van %
, is het niet nodig om de elems
-methode aan te roepen, omdat de naam van de array zal worden omgezet naar een nummer, en die omzetting is ontworpen om het aantal elementen terug te geven.
Code
Hier is de oplossing:
my @lights = <yellow red yellow green>;
say @lights[51 % @lights];
say @lights[102 % @lights];
say @lights[305 % @lights];
🦋 Vind het programma in het bestand traffic-lights.raku.
Uitvoer
Voer het programma uit. Probeer daarnaast andere waarden in het programma.
$ raku exercises/positionals/traffic-lights.raku
green
yellow
red
Volgende oefening
Cursusnavigatie
← Getypte variabelen / Allomorfen | Associatieve datentypen →
Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.
Vertalingen van deze pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська