Cursus Raku / Geavanceerd / Containers

Containers introspecteren

Introspectie betekent dat je een waarde of een container vraagt over zichzelf — zijn type, zijn onderliggende container en het mechanisme erachter. Je hebt al één introspectietool gebruikt, .^name, om het type van een waarde af te drukken.

Raku biedt een kleine familie van zulke tools, geschreven in hoofdletters: WHAT, VAR, WHO en HOW. Ze worden soms pseudo-methodes genoemd, omdat de compiler ze een speciale betekenis geeft in plaats van ze als gewone methodes te behandelen. Dit gedeelte bekijkt ze allemaal.

Ter herinnering: hier rapporteert .^name hoe het type van een container zonder typebeperking verandert als je er verschillende waarden in opslaat:

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

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

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

De container begint als Any en rapporteert vervolgens het type van de waarde die hij op dat moment bevat.

Onderwerpen in deze sectie

Praktijk

Maak de 1 quiz over de inhoud van deze sectie.

Oefeningen

Deze sectie bevat 3 oefeningen. Bekijk alle onderwerpen van deze sectie voordat je aan de oefeningen begint.

  1. Een variabele beschrijven
  2. Wat is het
  3. De standaardwaarde van de container

Cursusnavigatie

Oplossing: De topicvariabele   |   WHAT gebruiken