Cursus Raku / Provectus / Receptacula / Contextus
Elementalis et listae contextus
Duo contextus ulterius decernunt utrum aliquid tractetur ut
lista plurium valorum an ut unum item.
Haec est differentia post sigilla @ et $.
In contextu listae, ordo in elementa sua expanditur. Ansa
for argumentum suum in contextum listae ponit, itaque per
unumquodque elementum iterat:
my @a = 1, 2, 3;
my $count = 0;
$count++ for @a;
say $count; # 3In contextu item, idem ordo ut unus valor tractatur.
Contextualiser $( … ) contextum item cogit, itaque ansa
nunc unum tantum videt et semel currit:
my @a = 1, 2, 3;
my $count = 0;
$count++ for $(@a);
say $count; # 1Haec est causa cur assignatio ordinis ad scalarem eum ut unum item
componat potius quam elementa eius copiet: my $x = @a
ordinem @a in contextum item ponit. Nota quod illud unum
elementum potest esse alius container cum multis itemis in eo:
my @a = 1, 2, 3;
my $var = @a;
say $var; # [1 2 3]
say $var.WHAT; # (Array)Variabilis $var nunc continet unum (quia container
scalaris est) obiectum, quod est Array. Hoc facile probare
potes tractando $x ut genus referentiae ordinis (ut in
aliis linguis diceres):
say $var[1]; # 2Contextualiser congruens @( … ) contrarium facit,
contextum listae cogens.
Est etiam contextus sink — contextus enuntiati cuius valor abicitur, ut linea quae solum propter effectum lateralem existit. Cum valor in contextum sink cadit nihil utile faciens, Raku monere potest de “useless use”, quod est utile indicium te oblitum esse resultatum adhibere.
Sigillum quod eligis ($ contra @) revera
est electio contextus, et contextualisers $( ) et
@( ) sinunt te id ubi opus est superscribere.
Exercitatio
Sequuntur 1 quiz de contentis huius argumenti.
Navigatio cursus
← Quiz — Contextus | Quiz — Elementalis contextus →
💪 Vel recta ad exercitationes huius
sectionis i.