Corso di Raku / Avanzato / Altro sui tipi predefiniti / Tipi nativi / Exercises / Il valore predefinito nativo
Soluzione: Il valore predefinito nativo
Ecco una possibile soluzione.
Codice
my num $n;
my str $s;
say $n;
say "[$s]";🦋 Puoi trovare il codice sorgente nel file native-default.raku.
Output
0
[]Commenti
Un
numnativo non può essere indefinito, quindi come unintnativo inizia a0anziché a(Num).Una
strnativa inizia come stringa vuota, ed è per questo che le parentesi quadre appaiono senza nulla tra di esse. Nessuno dei tipi nativi contiene mai un valore indefinito.Gli specificatori di tipo sono essenziali qui. Rimuovendoli — scrivendo
my $n; my $s;— le variabili diventano contenitori ordinari che iniziano come indefiniti (Any). In quel casosay $nstampa(Any), e interpolare la$sindefinita genera l’avviso “Use of uninitialized value … in string context”. Sono i tipi nativinumestra garantire i valori predefiniti0e stringa vuota.