Курс по 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и празен низ.