Raku kurss / Objekti, ievade/izvade un izņēmumi / Ievade un izvade
Failu deskriptori
Visa faila nolasīšana vai ierakstīšana uzreiz ir ērta, taču dažreiz gribat failam iet cauri pa vienai rindai vai turēt failu atvērtu, kamēr tajā atkārtoti rakstāt. Tam izmantojat faila turi.
Vienkāršākajam veidam, kā failu lasīt pa rindai, skaidri norādīts
turis pat nav vajadzīgs: metode lines uz ceļa objekta dod
rindas pa vienai, gatavas ciklam for:
spurt 'words.txt', "one\ntwo\nthree\n";
for 'words.txt'.IO.lines -> $line {
say $line.uc;
}Katrs $line ir viena rinda bez tās beigu jaunās rindas
rakstzīmes. Programma izdrukā:
ONE
TWO
THREELai failā rakstītu caur turi, atveriet to ar open un
karodziņu :w (rakstīšanai), izmantojiet tura metodes
say vai print un aizveriet to ar
close, kad esat pabeiguši:
my $fh = open 'out.txt', :w;
$fh.say('first line');
$fh.say('second line');
$fh.close;Tura aizvēršana gādā, ka viss ierakstītais tiek izskalots uz disku. Lasīšana pa rindai, kā augstāk, ir ierastais veids, kā tikt galā ar failiem, kas ir par lielu, lai tos uzreiz ierautu atmiņā.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Vingrinājumi
Šajā sadaļā ir 4 vingrinājumi. Pirms ķerieties pie vingrinājumiem, izlasiet visus šīs sadaļas tematus.