Cursus Raku / Provectus / Receptacula / Introspectio receptaculorum
Utendo WHAT
WHAT est pseudo-methodus quae accessum ad typum valoris
praebet. Eam eodem modo quo .^name uti potes:
my $var = 42;
say $var.^name;
say $var.WHAT;Duo typum imprimunt cum minore differentia in forma:
.^name nomen nudum dat, dum WHAT obiectum typi
ostendit, in parenthesibus scriptum:
Int
(Int)Pro variabili sine restrictione typi, typus incipit ut
Any. Statim ac valorem assignas, tam ^name
quam WHAT typum valoris conditi sequuntur:
my $var;
say $var.^name; # Any
say $var.WHAT; # (Any)
$var = 'Hello';
say $var.^name; # Str
say $var.WHAT; # (Str)Cum restrictione typi, typus statim notus est, etiam antequam quidquam assignatur:
my Str $var;
say $var.^name; # Str
say $var.WHAT; # (Str)
$var = 'Hello';
say $var.^name; # Str
say $var.WHAT; # (Str)Comparatio obiectorum typi
Quia WHAT ipsum obiectum typi reddit, duo eorum cum
operatore identitatis valoris === comparare potes,
qui interrogat an ambo latera idem valor sint. Unum tantum obiectum typi
per typum exsistit, ergo hic est modus purus ad probandum an duo valores
typum communicent:
my $a = 42;
my $b = 100;
say $a.WHAT === $b.WHAT; # True — both are Int
say $a.WHAT === Int; # True
say $a.WHAT === Str; # FalseDissimilis ==, qui numeros comparat, ===
identitatem comparat, ergo directe pro obiectis typi (et aliis
valoribus) operatur.
Exercitatio
Sequuntur 1 quiz de contentis huius argumenti.
Navigatio cursus
← Introspectio
receptaculorum | Quiz — WHAT et
^name →
💪 Vel recta ad exercitationes huius
sectionis i.