Курс Raku / Розширені / Контейнери / Скалярні контейнери / Вправи / Знижка за замовчуванням

Розв’язання: Знижка за замовчуванням

Ось один із можливих варіантів розв’язання задачі.

Код

my $discount is default(0);
say $discount;

$discount = 15;
say $discount;

🦋 Вихідний код можна знайти у файлі default-discount.raku.

Звісно, простішим розв’язанням було б безпосередньо ініціалізувати змінну нулем:

my $discount = 0;
say $discount;

$discount = 15;
say $discount;

Вивід

0
15

Коментарі

  1. Трейт is default(0) дає контейнеру значення, до якого можна вдатися, доки йому нічого не присвоєно. Читання змінної повертає 0, і, на відміну від неоголошеного типового значення, це не породжує попередження про uninitialized value.

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

Навігація курсом

Знижка за замовчуванням   |   Тільки цілі числа