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.