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 לביצועים ויכולות טובים יותר בטיפול בטקסט יוניקוד.