Cursus Raku / Geavanceerd / Containers / Scalaire containers
Standaardwaarden
Wanneer een nieuwe scalaire variabele wordt aangemaakt zonder directe toewijzing, bevat de container toch een waarde — zijn standaardwaarde. De exacte standaardwaarde hangt af van het type van de variabele.
Het onderstaande programma is niet de beste manier om Raku te gebruiken, maar het illustreert het punt:
my $int;
say $int + 5;De uitvoer bevat 5, wat je misschien verwachtte als je
ervan uitging dat de standaardwaarde van $int gelijk is aan
0. Het programma drukt echter ook een waarschuwing af:
Use of uninitialized value $int of type Any in numeric context
in block <unit> at t.raku line 2
5Om deze onzekerheid weg te nemen, wijs je ofwel expliciet een waarde toe:
my $int = 0;
say $int + 5; # 5Of declareer je een standaardwaarde met de
is default-eigenschap:
my $int is default(0);
say $int + 5; # 5De standaardwaarde is niet beperkt tot nul. Het kan elke waarde zijn die je geschikt acht, bijvoorbeeld:
my $int is default(1);
say $int + 5; # 6Cursusnavigatie
← Quiz — Typebeperkingen | Proxying van methode-aanroepen →
💪 Of ga direct naar de oefeningen in
deze sectie.