Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Enigo kaj eligo
Forigi dosierojn kaj dosierujojn
Same kiel spurt kaj mkdir kreas aferojn sur
disko, du rutinoj forigas ilin.
La rutino unlink forigas dosieron:
spurt 'temp.txt', 'scratch data';
say 'temp.txt'.IO.e; # True
unlink 'temp.txt';
say 'temp.txt'.IO.e; # Falseunlink forigas la nomitan dosieron. Kiel la aliaj
dosiersistemaj rutinoj, ĝi ankaŭ havas metodan formon sur vojobjekto —
'temp.txt'.IO.unlink.
Forigo estas tuja kaj konstanta: ne estas rubujo, el kiu restaŭri.
Notu, ke post kiam dosiero malaperis, vi devas testi ĝin per
.e (ekzisto) anstataŭ .f, ĉar la tipaj testoj
.f kaj .d ĵetas, kiam la vojo ne estas
tie.
La rutino rmdir forigas dosierujon, sed nur
malplenan:
mkdir 'reports';
rmdir 'reports';
say 'reports'.IO.e; # FalseSe la dosierujo ankoraŭ enhavas ion, rmdir forigas
nenion kaj lasas ĝin surloke. Do por forigi dosierujon, kiu tenas
dosierojn, vi unue malplenigas ĝin kaj poste forigas ĝin:
mkdir 'reports';
spurt 'reports/jan.txt', 'January';
spurt 'reports/feb.txt', 'February';
.unlink for 'reports'.IO.dir; # forigu ĉiun eron
rmdir 'reports'; # nun la dosierujo estas malplena
say 'reports'.IO.e; # False'reports'.IO.dir listigas la erojn de la dosierujo (la
antaŭa temo traktis ĝin), kaj voki .unlink sur ĉiu forigas
ilin. Post kiam la dosierujo estas malplena, rmdir povas
forpreni ĝin. (Ĉi tiu plata buklo supozas, ke la dosierujo tenas nur
dosierojn; arbo kun nestitaj subdosierujoj bezonus unue recursi en
ilin.)
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Ekzercoj
En ĉi tiu sekcio estas 2 ekzercoj. Trarigardu ĉiujn temojn de ĉi tiu sekcio antaŭ ol komenci la ekzercojn.