Курс по 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. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська