Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Нативные типы / Exercises / Значение по умолчанию нативного типа
Решение: Значение по умолчанию нативного типа
Вот возможное решение задачи.
Код
my num $n;
my str $s;
say $n;
say "[$s]";🦋 Исходный код можно найти в файле native-default.raku.
Вывод
0
[]Комментарии
Нативный
numне может быть неопределённым, поэтому, как и нативныйint, он начинает с0, а не с(Num).Нативный
strначинает с пустой строки, поэтому в квадратных скобках ничего не появляется. Ни один нативный тип никогда не содержит неопределённого значения.Указание типов здесь принципиально. Уберите их — напишите
my $n; my $s;— и переменные станут обычными контейнерами, которые начинают как неопределённые (Any). Тогдаsay $nвыведет(Any), а интерполяция неопределённого$sвызовет предупреждение «Use of uninitialized value … in string context». Именно нативные типыnumиstrгарантируют значения по умолчанию0и пустую строку.
Навигация по курсу
← Значение по умолчанию нативного типа | Циклическое переполнение →