Курс Raku / Об’єкти, введення-виведення та винятки / Введення та виведення / Файлові дескриптори / Вправи / Запис через дескриптор

Розв’язання: Запис через дескриптор

Ось один із можливих варіантів розв’язання задачі.

Код

my $fh = open 'out.txt', :w;
$fh.say($_) for 1..3;
$fh.close;

print slurp 'out.txt';

🦋 Вихідний код можна знайти у файлі write-with-a-handle.raku.

Вивід

1
2
3

Коментарі

  1. open із прапорцем :w дає дескриптор для запису. Дескриптор лишається відкритим упродовж циклу, тож кожен $fh.say додає ще один рядок, — у цьому й перевага дескриптора над spurt, який щоразу відкривав би файл наново.

  2. close скидає дані на диск, тож наступний slurp зчитує назад усі три рядки.

Навігація курсом

Запис через дескриптор   |   Передайте дескриптор у функцію