Elixir:
Написання текстового файлу
Як це зробити:
Elixir робить роботу з файлами простою завдяки вбудованим модулям. Основний спосіб запису в файл - використання функцій File.write/2
або File.write!/2
, де перша повертає кортеж :ok
або :error
, а друга видає помилку при невдачі.
Ось простий приклад:
# Запис у файл, просте повідомлення
File.write("hello.txt", "Привіт, Світ!")
# Коли ви запустите код, він створить 'hello.txt' з вмістом "Привіт, Світ!"
Для додавання до файлів, ви б могли використовувати File.open/3
з опціями [:write, :append]
, а потім IO.binwrite/2
щоб додати вміст:
# Додавання до файлу
{:ok, file} = File.open("hello.txt", [:write, :append])
IO.binwrite(file, "\nДодамо ще один рядок.")
File.close(file)
# Тепер 'hello.txt' містить другий рядок "Додамо ще один рядок."
Якщо ви працюєте з великими даними або потребуєте більшого контролю над процесом запису, ви могли б використовувати модуль Stream
для лінивого запису даних у файл:
# Лінивий запис великого набору даних
stream_data = Stream.iterate(0, &(&1 + 1))
|> Stream.map(&("Номер: #{&1}\n"))
|> Stream.take(10)
File.open!("numbers.txt", [:write], fn file ->
Enum.each(stream_data, fn line ->
IO.write(file, line)
end)
end)
# Це створює 'numbers.txt', записуючи числа з 0 до 9, кожне на новому рядку.
Для проектів, які потребують більш складної роботи з файлами, ви могли б ознайомитися зі сторонніми бібліотеками, як-от CSV
, що пропонує спеціалізовані функції для маніпуляції з CSV файлами, але пам’ятайте, для багатьох цілей, вбудовані можливості Elixir є абсолютно достатніми.