Курс 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Коментарі
Трейт
is default(0)дає контейнеру значення, до якого можна вдатися, доки йому нічого не присвоєно. Читання змінної повертає0, і, на відміну від неоголошеного типового значення, це не породжує попередження про uninitialized value.Після присвоєння контейнер містить
15, і типове значення більше не відіграє жодної ролі.