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

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

Нативна стойност по подразбиране   |   Обвиване