Курс по Raku / Основи / Позиционни типове данни / Упражнения / Светофари

Решение: Светофари

Идеята на решението е да се „завърти индексирането“ на масива с четирите състояния на светофарите:

my @lights = <yellow red yellow green>;

През първите секунди, броят на секундите от началото може директно да се използва като индекс в масива. Когато надвиши 3, можете да го завъртите към началото на масива с оператора за остатък %. Дължината на масива е @lights.elems, но когато се използва като операнд на %, няма нужда да се извиква методът elems, тъй като името на масива ще бъде преобразувано в число, а това преобразуване е проектирано да връща броя на елементите.

Код

Ето решението:

my @lights = <yellow red yellow green>;

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

🦋 Намерете програмата във файла traffic-lights.raku.

Изход

Стартирайте програмата. Освен това, опитайте други стойности в програмата.

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

Навигация по курса

Типизирани променливи / Аломорфи   |   Асоциативни типове данни

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

Преводи на тази страница: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська