Raku kurss / Padziļināti / Vairāk par iebūvētajiem tipiem / Natīvie tipi 🆕
Mašīnas līmeņa tipi
Natīvajiem tipiem ir nosaukumi ar mazajiem burtiem: int,
num un str. Mainīgo ar kādu no tiem deklarē
tāpat kā ar Int vai Str:
my int $i = 42;
my num $n = 3.14e0;
say $i; # 42
say $n; # 3.14Natīvā vērtība tieši atbilst mašīnas reģistram vai vārdam bez iesaiņojuma objekta, kāds ir parastajai Raku vērtībai. Tas padara natīvos tipus ātrākus un kompaktākus, kas ir svarīgi intensīvās skaitliskās cilpās un lielos masīvos.
Ir viena uzvedība, kas jāzina uzreiz: natīvais mainīgais nekad nevar
būt nedefinēts. Kamēr parasts Int konteiners sākas kā
nedefinēts Any, natīvais int sākas ar
nulli:
say (my Int $a); # (Int)
say (my int $b); # 0Tas pats attiecas uz natīvajiem masīviem, kurus deklarē, liekot
natīvo tipu pirms @ mainīgā:
my int @numbers = 10, 20, 30;
say @numbers.sum; # 60Šāds masīvs glabā savus elementus kā neapstrādātus mašīnas veselos
skaitļus, nevis kā iesaiņotus Int objektus, tāpēc tas
izmanto mazāk atmiņas. Introspektējot natīvo vērtību, tā automātiski
tiek iesaiņota atbilstošajā pilnajā tipā, tāpēc
(my int $b).WHAT ziņo (Int).
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Natīvie tipi 🆕 | Viktorīna — Natīvie tipi →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.