Курс по Raku / Обекти, вход-изход и изключения / Вход и изход
Файлови манипулатори
Четенето или записването на цял файл наведнъж е удобно, но понякога искате да минете през файла ред по ред или да го държите отворен, докато пишете в него многократно. За това използвате манипулатор на файл.
Най-простият начин да четете файл ред по ред дори не се нуждае от
изричен манипулатор: методът lines върху обект-път подава
редовете един по един, готови за цикъл for:
spurt 'words.txt', "one\ntwo\nthree\n";
for 'words.txt'.IO.lines -> $line {
say $line.uc;
}Всеки $line е един ред, без завършващия си нов ред.
Програмата отпечатва:
ONE
TWO
THREEЗа да пишете във файл през манипулатор, отворете го с
open и флага :w (write), използвайте методите
say или print на манипулатора и го затворете с
close, когато приключите:
my $fh = open 'out.txt', :w;
$fh.say('first line');
$fh.say('second line');
$fh.close;Затварянето на манипулатора гарантира, че всичко записано е изтласкано на диска. Четенето ред по ред, както по-горе, е обичайният начин да се работи с файлове, които са твърде големи, за да се поберат наведнъж в паметта.
Практика
Направете 1 тест върху съдържанието на тази тема.
Упражнения
Този раздел съдържа 4 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.