Raku kurss / Padziļināti / Izpildes plūsma / Bloku fāzeri / Exercises / Sakopt atstājot
Risinājums: Sakopt atstājot
Šeit ir iespējams risinājums uzdevumam.
Kods
sub work {
LEAVE say 'Cleanup';
say 'Working';
return;
say 'never reached';
}
work();🦋 Atrodiet programmu failā clean-up-on-leave.raku.
Izvade
Working
CleanupKomentāri
Pēc
Workingizdrukāšanasreturnuzreiz iziet no apakšprogrammas, tāpēcnever reachednetiek izdrukāts nekad.Lai gan ķermenis tika atstāts priekšlaikus, fāzeris
LEAVEpa ceļam uz āru tomēr nostrādā un izdrukāCleanup. Tieši šī garantija padaraLEAVEpar pareizo vietu resursu atbrīvošanai — tas izpildās neatkarīgi no tā, kā bloks beidzas.
Kursa navigācija
← Sakopt atstājot | Ieiet blokā →