Kurso de Raku / Progresinta / Pli pri la enkonstruitaj tipoj / Denaskaj tipoj
Maŝin-nivelaj tipoj
La indiĝenaj tipoj havas minusklajn nomojn: int,
num kaj str. Vi deklaras variablon per unu el
ili same kiel vi farus per Int aŭ Str:
my int $i = 42;
my num $n = 3.14e0;
say $i; # 42
say $n; # 3.14Indiĝena valoro korespondas rekte al maŝina registro aŭ vorto, sen la envolva objekto, kiun portas normala Raku-valoro. Tio igas indiĝenajn tipojn pli rapidaj kaj pli kompaktaj, kio gravas en striktaj nombraj bukloj kaj grandaj tabeloj.
Estas unu konduto, pri kiu vi tuj konsciu: indiĝena variablo neniam
povas esti nedefinita. Dum ordinara Int-ujo komenciĝas kiel
nedefinita Any, indiĝena int komenciĝas je
nulo:
say (my Int $a); # (Int)
say (my int $b); # 0La sama validas por indiĝenaj tabeloj, deklaritaj per metado de la
indiĝena tipo antaŭ la @-variablon:
my int @numbers = 10, 20, 30;
say @numbers.sum; # 60Tia tabelo konservas siajn elementojn kiel krudajn maŝinajn entjerojn
anstataŭ kiel enkastitajn Int-objektojn, do ĝi uzas malpli
da memoro. Kiam vi introspektas indiĝenan valoron, ĝi estas aŭtomate
enkastita en la konvenan plenan tipon, tial
(my int $b).WHAT raportas (Int).
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Denaskaj tipoj | Kvizo — Denaskaj tipoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.