Курс Raku / Розширені / Докладніше про вбудовані типи / Нативні типи 🆕 / Вправи / Нативне значення за замовчуванням

Розв’язання: Нативне значення за замовчуванням

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

Код

my num $n;
my str $s;

say $n;
say "[$s]";

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

Вивід

0
[]

Коментарі

  1. Машинний num не може бути невизначеним, тож, як і машинний int, він починає з 0, а не з (Num).

  2. Машинний str починає з порожнього рядка, — саме тому між дужками нічого немає. Жоден із машинних типів ніколи не містить невизначеного значення.

  3. Специфікатори типів тут украй важливі. Приберіть їх — напишіть my $n; my $s; — і змінні стануть звичайними контейнерами, які починають невизначеними (Any). Тоді say $n виводить (Any), а інтерполяція невизначеної $s попереджає: «Use of uninitialized value … in string context». Саме машинні типи num та str гарантують типові значення 0 та порожній рядок.

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

Нативне значення за замовчуванням   |   Циклічне переповнення