Курс языка программирования Raku / Продвинутый уровень / Контейнеры / Интроспекция с помощью МОП / Exercises / Значение по умолчанию контейнера

Решение: Значение по умолчанию контейнера

Вот возможное решение задачи.

Код

my $count is default(0);

say $count;
say $count.VAR.default;

🦋 Исходный код можно найти в файле container-default.raku.

Вывод

0
0

Комментарии

  1. Трейт is default(0) задаёт контейнеру значение по умолчанию. Поскольку ничего не было присвоено, при чтении $count возвращается это значение, и первая строка печатает 0.

  2. .VAR.default запрашивает у самого контейнера его объявленное значение по умолчанию, которое тоже равно 0. Без этого трейта нетипизированный контейнер имел бы значение по умолчанию (Any).

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

Значение по умолчанию контейнера   |   Подробнее о встроенных типах