Курс Раку / Основи / Позиційні типи даних / Вправи / Світлофори

Рішення: Світлофори

Ідея рішення полягає в тому, щоб «зациклити індексацію» масиву з чотирма станами світлофора:

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 4o. Оригінальний текст англійською мовою.

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