Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Нативные типы / Exercises / Значение по умолчанию нативного типа

Решение: Значение по умолчанию нативного типа

Вот возможное решение задачи.

Код

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 и пустую строку.

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

Значение по умолчанию нативного типа   |   Циклическое переполнение