Курс языка программирования 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

Комментарии

  1. Первый spurt создаёт файл заново со строкой start.

  2. Каждый spurt внутри цикла использует :append, поэтому добавляет свою строку после уже имеющегося содержимого, а не заменяет файл. Именно так растёт файл журнала: каждая итерация (или каждый запуск программы) приписывает в конец ещё одну строку.

  3. Без :append каждый проход перезаписывал бы файл, и уцелела бы только последняя строка.

Навигация по курсу

Составьте журнал   |   Подсчёт символов