Raku kurss / Padziļināti / Konteineri

Konteineru introspekcija

Introspekcija nozīmē jautāt vērtībai vai konteineram par sevi — par tā tipu, pamatā esošo konteineru un mehānismu aiz tā. Jūs jau esat izmantojuši vienu introspekcijas rīku, .^name, lai izdrukātu vērtības tipu.

Raku piedāvā nelielu šādu rīku saimi, kas rakstīti ar lielajiem burtiem: WHAT, VAR, WHO un HOW. Tos dažreiz sauc par pseidometodēm, jo kompilators tiem piešķir īpašu nozīmi, nevis apstrādā tos kā parastas metodes. Šajā sadaļā aplūkosim katru no tiem.

Atgādinājumam — šeit .^name parāda, kā netipizēta konteinera tips mainās, kad tajā saglabājat dažādas vērtības:

my $value;
say $value.^name; # Any

$value = 42;
say $value.^name; # Int

$value = 'forty-two';
say $value.^name; # Str

Konteineris sākas kā Any un pēc tam norāda tā tipa nosaukumu, kāda vērtība tajā pašlaik glabājas.

Šīs sadaļas temati

Prakse

Jūs gaida 1 viktorīna par šīs sadaļas saturu.

Vingrinājumi

Šajā sadaļā ir 3 vingrinājumi. Pirms ķerieties pie vingrinājumiem, izlasiet visus šīs sadaļas tematus.

  1. Aprakstīt mainīgo
  2. Kas tas ir
  3. Konteinera noklusējuma vērtība

Kursa navigācija

Risinājums: Tēmas mainīgais   |   WHAT izmantošana