Corso di Raku / Avanzato / Contenitori / Contenitori scalari
Valori predefiniti
Quando una nuova variabile scalare viene creata senza un’assegnazione immediata, il contenitore contiene comunque un valore — il suo valore predefinito. Il valore predefinito esatto dipende dal tipo della variabile.
Il programma seguente non è il modo migliore di usare Raku, ma illustra il concetto:
my $int;
say $int + 5;L’output contiene 5, che potrebbe essere quello che vi
aspettavate se avete supposto che il valore predefinito di
$int sia 0. Tuttavia, il programma stampa
anche un avvertimento:
Use of uninitialized value $int of type Any in numeric context
in block <unit> at t.raku line 2
5Per eliminare questa incertezza, assegnate un valore esplicitamente:
my $int = 0;
say $int + 5; # 5Oppure dichiarate un valore predefinito con il trait
is default:
my $int is default(0);
say $int + 5; # 5Il valore predefinito non è limitato a zero. Può essere qualsiasi valore che ritenete un buon candidato, per esempio:
my $int is default(1);
say $int + 5; # 6Navigazione del corso
← Quiz — Vincoli di tipo | Proxying delle chiamate di metodo →
💪 Oppure vai direttamente agli esercizi di questa
sezione.