Raku kurss / Padziļināti / Izpildes plūsma / Priekšrakstu prefiksi 🆕
sink un quietly
Vēl divi prefiksi attiecas uz koda izpildi tā efektu, nevis vērtības dēļ.
Prefikss sink izrēķina kaut ko iesūkšanas
kontekstā — vienīgi blakusefektu dēļ, rezultātu izmetot. Tas noder
ar slinku darbību, kuru vēlaties piespiest izpildīties:
sink (1..3).map({ print "$_ " });
print "\n"; # 1 2 3map šeit tiek izpildīts tikai tās drukāšanas dēļ, ko tas
veic; sink gādā, ka tas patiešām izpildās, un iegūto
sarakstu izmet. Ja to nepiespiestu, slinks map, kura
rezultāts nekad netiek izmantots, varētu vispār neizpildīties.
Prefikss quietly izpilda bloku ar apslāpētiem
brīdinājumiem. Kods, kas parasti izdrukātu brīdinājumu kļūdu
plūsmā, paliek kluss:
my $value;
quietly {
say $value + 1; # 1, with no "uninitialized value" warning
}Pieskaitot 1 nedefinētam $value, parasti
tiek brīdināts par neinicializētas vērtības lietošanu, taču
quietly iekšienē šis brīdinājums tiek paslēpts. Izmantojiet
to, kad apzināti darāt kaut ko tādu, kas brīdina, un troksni nevēlaties,
— taču taupīgi, jo brīdinājumi parasti norāda uz īstu kļūdu.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Slinkums un dedzīgums | Viktorīna — Priekšrakstu prefiksi →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.