Cursus Raku / Geavanceerd / Meer over ingebouwde types / Native typen / Exercises / De native standaardwaarde
Oplossing: De native standaardwaarde
Hier is een mogelijke oplossing voor de opgave.
Code
my num $n;
my str $s;
say $n;
say "[$s]";🦋 Je kunt de broncode vinden in het bestand native-default.raku.
Uitvoer
0
[]Opmerkingen
Een native
numkan niet ongedefinieerd zijn, dus net als een nativeintbegint het op0in plaats van op(Num).Een native
strbegint als de lege string, daarom komen de haken uit zonder iets ertussen. Geen van de native typen bevat ooit een ongedefinieerde waarde.De typespecificaties zijn hier essentieel. Laat ze weg — schrijf
my $n; my $s;— en de variabelen worden gewone containers die ongedefinieerd (Any) beginnen. Dan druktsay $n(Any)af, en het interpoleren van de ongedefinieerde$sgeeft de waarschuwing “Use of uninitialized value … in string context”. Het zijn de nativenum- enstr-typen die de standaardwaarden0en lege string garanderen.