Cursus Raku / Provectus / Receptacula / Introspectio receptaculorum

WHO et HOW

Duo plura instrumenta introspectionis seriem complent: HOW et WHO.

HOW

Omnis valor in Raku metaobiecto sustinetur — obiecto quod scit quomodo typus valoris operatur. HOW (abbreviatio pro Higher Order Workings) illud metaobiectum reddit:

my $x = 42;
say $x.HOW.^name; # Perl6::Metamodel::ClassHOW

Metaobiecto iam per totum tempus usus es, fortasse sine animadversione. .^ in .^name est vocatio methodi per HOW directa. Hae duae lineae aequivalentes sunt:

my $x = 42;
say $x.^name;        # Int
say $x.HOW.name($x); # Int

Ergo $x.^name est tantum brevior modus scribendi $x.HOW.name($x). Nota obiectum iterum ut argumentum transmitti: metaobiectum ab omni valore typi communicatur, ergo meta-methodo dicitur de quo obiecto interrogetur. Forma .^ hoc automatice pro te facit. (Pro name argumentum casu ignoratur, sed transmittere eum est forma correcta et generalis — aliquae meta-methodi eo utuntur.)

Idem ad alias meta-methodos quas invenire potes applicatur, sicut .^methods, quae methodos quibus valor respondet enumerat.

WHO

WHO fasciculum reddit cui nomen pertinet — tabulam symbolorum in illo spatio nominum definitorum:

say Int.WHO.^name; # Stash

Stash (tabula symbolorum in forma hash) utilis fit cum modulis operaris, ubi nomina quae modulus definit inspicere sinit. Ad eam in sectione de introspectione modulorum redibimus; nunc satis est scire WHO exsistere et quid repraesentet.

Utendo VAR   |   Variabilem describere


💪 Vel recta ad exercitationes huius sectionis i.