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; # StrDe 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.