Haskell:
Tekstitiedoston kirjoittaminen
Kuinka:
Haskellin standard Prelude tarjoaa perustason tuen tiedostoihin kirjoittamiselle writeFile
ja appendFile
funktioiden avulla System.IO
moduulista. Tässä on perusesimerkki uuden tiedoston luomisesta (tai olemassa olevan ylikirjoittamisesta) ja sitten tekstin lisäämisestä tiedostoon.
import System.IO
-- Kirjoittaminen tiedostoon, ylikirjoittaen jos se on olemassa
main :: IO ()
main = do
writeFile "example.txt" "Tämä on ensimmäinen rivi.\n"
appendFile "example.txt" "Tämä on toinen rivi.\n"
Kun ajat tämän ohjelman, se luo (tai tyhjentää) example.txt
tiedoston ja kirjoittaa “Tämä on ensimmäinen rivi.” ja sen jälkeen “Tämä on toinen rivi.” seuraavalle riville.
Kehittyneempään tiedostonkäsittelyyn Haskell-ohjelmoijat kääntyvät usein text
paketin puoleen tehokkaan merkkijonojen käsittelyn vuoksi ja bytestring
paketin puoleen binääridatan käsittelyssä. Näin käytät text
pakettia tiedostojen IO:ssa:
Ensiksi, sinun täytyy lisätä text
projektiisi riippuvuuksien joukkoon. Sen jälkeen, voit käyttää sitä seuraavasti:
import qualified Data.Text as T
import qualified Data.Text.IO as TIO
-- Kirjoittaminen tiedostoon käyttäen text-pakettia
main :: IO ()
main = do
let content = T.pack "Käyttäen text-pakettia paremman suorituskyvyn saavuttamiseksi.\n"
TIO.writeFile "textExample.txt" content
TIO.appendFile "textExample.txt" $ T.pack "Lisäten toista riviä.\n"
Tässä pätkässä, T.pack
muuntaa tavallisen String
:n Text
tyyppiseksi, mikä on tehokkaampaa. TIO.writeFile
ja TIO.appendFile
ovat text
vastineet tiedostoihin kirjoittamiselle ja tiedostoon liittämiselle vastaavasti.
Tämän koodin ajaminen tuottaa tiedoston nimeltä textExample.txt
kahdella tekstirivillä, osoittaen sekä luomis- että liittämiskyvykkyydet käyttäen kehittynyttä text
kirjastoa paremman suorituskyvyn ja kyvyn käsitellä Unicode-tekstiä varten.