Haskell:
Написання текстового файлу

Як це зробити:

Стандартний Prelude в Haskell надає базову підтримку для запису у файли за допомогою функцій writeFile та appendFile з модуля System.IO. Ось базовий приклад створення нового файлу (або перезапису існуючого) та потім додавання тексту до файлу.

import System.IO

-- Запис у файл, перезаписуючи його, якщо він існує
main :: IO ()
main = do
  writeFile "example.txt" "Це перший рядок.\n"
  appendFile "example.txt" "Це другий рядок.\n"

Коли ви виконаєте цю програму, вона створить (або очистить) example.txt і запише “Це перший рядок.” за яким слідує “Це другий рядок.” на наступному рядку.

Для більш складної обробки файлів, програмісти на Haskell часто звертаються до пакету text для ефективної обробки рядків та пакету bytestring для роботи з двійковими даними. Ось як використовувати пакет text для вводу/виводу файлів:

Спочатку вам потрібно додати text до залежностей вашого проекту. Тоді ви можете використовувати його так:

import qualified Data.Text as T
import qualified Data.Text.IO as TIO

-- Запис у файл за допомогою пакету text
main :: IO ()
main = do
  let content = T.pack "Використання пакету text для кращої продуктивності.\n"
  TIO.writeFile "textExample.txt" content
  TIO.appendFile "textExample.txt" $ T.pack "Додавання другого рядка.\n"

У цьому уривку, T.pack конвертує звичайний String у тип Text, що є ефективнішим. TIO.writeFile та TIO.appendFile - це еквіваленти з пакету text для запису та додавання до файлів відповідно.

Виконання цього коду призведе до створення файлу під назвою textExample.txt з двома рядками тексту, що демонструє можливості створення та додавання за допомогою передової бібліотеки text для кращої продуктивності та здатності обробляти текст у форматі Unicode.