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
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: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська