Clojure:
קריאת קובץ טקסט

איך לעשות:

כדי לקרוא קובץ טקסט בקלוז’ר, תשתמשו בפונקציה slurp. זה קוד פשוט לקריאת פנימה:

;; קריאת קובץ טקסט למחרוזת
(let [content (slurp "path/to/your/file.txt")]
  (println content))

;; דוגמת פלט
; הנה הטקסט מהקובץ שלך!

או אם אתם צריכים לקרוא קובץ קטן כל שורה בנפרד:

;; קריאת קובץ טקסט לרשימת שורות
(with-open [rdr (reader "path/to/your/file.txt")]
  (doseq [line (line-seq rdr)]
    (println line)))

;; דוגמת פלט
; שורה 1
; שורה 2
; שורה 3

עיון מעמיק

קריאת קבצים היא עניין ישן כמעט כמו המחשבים עצמם. slurp זה קל ונוח, אבל במקרים של קבצים גדולים, ייתכן שתרצו לקרוא בזרימה (stream) ולא הכל במכה אחת. הפונקציה line-seq שנראיתה מעלה עובדת עם reader, שכן היא פולטת ערוך זרימתי של שורות, מותירה זמן לעיבוד כל שורה לפני קריאת הבאה.

בנוסף, בקלוז’ר יש עוד אופציות, כמו פונקציות read-line, read-lines, או שימוש בjava.io ישירות לשליטה מעמיקה יותר. ייתכנו גם ספריות שלישיות שיכולות להוסיף יכולות מעמיקות נוספות או לייעל את קריאת קבצים במקרים מסוימים.

ראו גם

התיעוד הרשמי של Clojure על קלט/פלט:

מדריכים ומאמרים שיכולים לעזור:

ואם אתם רוצים ללמוד יותר על עיבוד טקסט בקלוז’ר: