Raku kurss / Padziļināti / Konteineri / Skalārie konteineri
Noklusējuma vērtības
Kad tiek izveidots jauns skalārais mainīgais bez tūlītējas piešķiršanas, konteineris joprojām satur vērtību — tā noklusējuma vērtību. Precīzais noklusējums ir atkarīgs no mainīgā tipa.
Zemāk redzamā programma nav labākais veids, kā lietot Raku, taču tā ilustrē būtību:
my $int;
say $int + 5;Izvade satur 5, kas var būt sagaidāms, ja pieņemat, ka
$int noklusējuma vērtība ir 0. Tomēr programma
arī izdrukā brīdinājumu:
Use of uninitialized value $int of type Any in numeric context
in block <unit> at t.raku line 2
5Lai novērstu šo nenoteiktību, vai nu piešķiriet vērtību tieši:
my $int = 0;
say $int + 5; # 5Vai deklarējiet noklusējuma vērtību ar is default
iezīmi:
my $int is default(0);
say $int + 5; # 5Noklusējuma vērtība nav ierobežota ar nulli. Tā var būt jebkura vērtība, ko uzskatāt par piemērotu kandidātu, piemēram:
my $int is default(1);
say $int + 5; # 6Kursa navigācija
← Viktorīna — Tipu ierobežojumi | Metožu izsaukumu pāradresēšana →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.