Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Ввод и вывод / Работа с файлами / Exercises / Составьте журнал
Решение: Составьте журнал
Вот один из возможных вариантов решения задачи.
Код
spurt 'log.txt', "start\n";
for 1..3 -> $i {
spurt 'log.txt', "entry $i\n", :append;
}
print slurp 'log.txt';🦋 Исходный код можно найти в файле append-a-line.raku.
Вывод
start
entry 1
entry 2
entry 3Комментарии
Первый
spurtсоздаёт файл заново со строкойstart.Каждый
spurtвнутри цикла использует:append, поэтому добавляет свою строку после уже имеющегося содержимого, а не заменяет файл. Именно так растёт файл журнала: каждая итерация (или каждый запуск программы) приписывает в конец ещё одну строку.Без
:appendкаждый проход перезаписывал бы файл, и уцелела бы только последняя строка.