Курс языка программирования Raku / Продвинутый уровень / Контейнеры / Скалярные контейнеры / Exercises / Скидка по умолчанию
Решение: Скидка по умолчанию
Вот одно из возможных решений задачи.
Код
my $discount is default(0);
say $discount;
$discount = 15;
say $discount;🦋 Исходный код можно найти в файле default-discount.raku.
Конечно, более простым решением было бы напрямую инициализировать
переменную значением 0:
my $discount = 0;
say $discount;
$discount = 15;
say $discount;Вывод
0
15Комментарии
Трейт
is default(0)задаёт контейнеру значение, к которому он обращается, пока ему ничего не было присвоено. Чтение переменной возвращает0, и, в отличие от значения по умолчанию без объявления, не вызывает предупреждения о неинициализированном значении.После присваивания контейнер содержит
15, и значение по умолчанию больше не играет никакой роли.