Haskell:
Att skriva en textfil

Hur man gör:

Haskells standard Prelude tillhandahåller grundläggande stöd för att skriva till filer med funktionerna writeFile och appendFile från modulen System.IO. Här är ett grundläggande exempel på att skapa en ny fil (eller skriva över en befintlig) och sedan lägga till text i en fil.

import System.IO

-- Skriver till en fil, skriver över om den existerar
main :: IO ()
main = do
  writeFile "example.txt" "Det här är rad ett.\n"
  appendFile "example.txt" "Det här är rad två.\n"

När du kör detta program skapas (eller rensas) example.txt och skriver “Det här är rad ett.” följt av “Det här är rad två.” på nästa rad.

För mer avancerad filhantering vänder sig Haskell-programmerare ofta till text-paketet för effektiv stränghantering och bytestring-paketet för att hantera binärdata. Så här använder du text-paketet för fil-I/O:

Först behöver du lägga till text i ditt projekts beroenden. Sedan kan du använda det enligt följande:

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

-- Skriver till en fil med text-paketet
main :: IO ()
main = do
  let innehåll = T.pack "Använder text-paketet för bättre prestanda.\n"
  TIO.writeFile "textExample.txt" innehåll
  TIO.appendFile "textExample.txt" $ T.pack "Lägger till rad två.\n"

I detta kodsnutt konverterar T.pack en vanlig String till Text-typen, vilket är mer effektivt. TIO.writeFile och TIO.appendFile är text-ekvivalenterna för att skriva till och lägga till i filer, respektive.

Kör du denna kod kommer resultatet att bli en fil med namnet textExample.txt med två rader text, vilket demonstrerar både skapande och läggande av förmågor med det avancerade text-biblioteket för bättre prestanda och kapacitet i hantering av Unicode-text.