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

  1. Un num nativo non può essere indefinito, quindi come un int nativo inizia a 0 anziché a (Num).

  2. Una str nativa 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.

  3. 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 caso say $n stampa (Any), e interpolare la $s indefinita genera l’avviso “Use of uninitialized value … in string context”. Sono i tipi nativi num e str a garantire i valori predefiniti 0 e stringa vuota.

Il valore predefinito nativo   |   Wrap around