Kurso de Raku / Progresinta / Regofluo / Deklaraj prefiksoj
sink kaj quietly
Du pliaj prefiksoj traktas plenumado de kodo pro ĝiaj efektoj anstataŭ ĝia valoro.
La prefikso sink taksas ion en sink-kunteksto —
pure pro ĝiaj flankefektoj, forĵetante la rezulton. Ĝi estas utila kun
maldiligenta operacio, kiun vi volas devigi plenumi:
sink (1..3).map({ print "$_ " });
print "\n"; # 1 2 3La map ĉi tie estas plenumata nur pro la presado, kiun
ĝi faras; sink certigas, ke ĝi efektive plenumiĝas kaj
forĵetas la rezultan liston. Sen devigo, maldiligenta map,
kies rezulto neniam estas uzata, eble tute ne plenumiĝus.
La prefikso quietly plenumas blokon kun siaj
avertoj kaŝitaj. Kodo, kiu normale presus averton al la
erara fluo, restas silenta:
my $value;
quietly {
say $value + 1; # 1, with no "uninitialized value" warning
}Aldoni 1 al nedefinita $value normale
avertas pri uzo de neinicialigita valoro, sed ene de
quietly tiu averto estas kaŝita. Uzu ĝin kiam vi konscie
faras ion, kio avertas, kaj ne volas la bruon — sed ŝpareme, ĉar avertoj
kutime montras veran eraron.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Maldiligento kaj fervoro | Kvizo — Deklaraj prefiksoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.