Курс языка программирования 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

Комментарии

  1. Трейт is default(0) задаёт контейнеру значение, к которому он обращается, пока ему ничего не было присвоено. Чтение переменной возвращает 0, и, в отличие от значения по умолчанию без объявления, не вызывает предупреждения о неинициализированном значении.

  2. После присваивания контейнер содержит 15, и значение по умолчанию больше не играет никакой роли.

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

Скидка по умолчанию   |   Только целые числа