Raku kurss / Pamati / Pozicionālie datu tipi / Vingrinājumi / Satiksmes luksofori

Risinājums: Satiksmes luksofori

Risinājuma ideja ir “cikliski indeksēt” masīvu ar četriem luksofora stāvokļiem:

my @lights = <yellow red yellow green>;

Pirmajās sekundēs sekunžu skaitu kopš sākuma var tieši izmantot kā indeksu masīvā. Kad tas pārsniedz 3, jūs varat to cikliski atgriezt masīva sākumā ar modulo operatoru %. Masīva garums ir @lights.elems, bet, kad to izmanto kā % operandu, nav nepieciešams izsaukt elems metodi, jo masīva nosaukums tiks konvertēts uz skaitli, un šī konversija ir paredzēta, lai atgrieztu elementu skaitu.

Kods

Šeit ir risinājums:

my @lights = <yellow red yellow green>;

say @lights[51 % @lights];
say @lights[102 % @lights];
say @lights[305 % @lights];

🦋 Atrodiet programmu failā traffic-lights.raku.

Izvade

Palaidiet programmu. Papildus, izmēģiniet citus vērtības programmā.

$ raku exercises/positionals/traffic-lights.raku
green
yellow
red

Nākamais uzdevums

💪 Komandrindas argumentu skaits

Kursa navigācija

Tipizētie mainīgie / Allomorfi   |   Asociatīvie datu tipi

Šī lapa ir automātiski tulkota ar ChatGPT 4o. Oriģinālais teksts angļu valodā.

Šīs lapas tulkojumi: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська