Raku-Kurs / Fortgeschritten / Container / Skalare Container
Standardwerte
Wenn eine neue skalare Variable ohne sofortige Zuweisung erstellt wird, enthält der Container dennoch einen Wert — seinen Standardwert. Der genaue Standardwert hängt vom Typ der Variable ab.
Das folgende Programm ist nicht die beste Art, Raku zu verwenden, aber es verdeutlicht den Punkt:
my $int;
say $int + 5;Die Ausgabe enthält 5, was du vielleicht erwartet hast,
wenn du angenommen hast, dass der Standardwert von $int
0 ist. Allerdings gibt das Programm auch eine Warnung
aus:
Use of uninitialized value $int of type Any in numeric context
in block <unit> at t.raku line 2
5Um diese Unsicherheit zu beseitigen, weise entweder explizit einen Wert zu:
my $int = 0;
say $int + 5; # 5Oder deklariere einen Standardwert mit dem Trait
is default:
my $int is default(0);
say $int + 5; # 5Der Standardwert ist nicht auf Null beschränkt. Es kann jeder Wert sein, den du für geeignet hältst, zum Beispiel:
my $int is default(1);
say $int + 5; # 6Kursnavigation
← Quiz — Typbeschränkungen | Proxierung von Methodenaufrufen →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.