Для любых эхо-операторов я всегда использую <br>
внутри двойных кавычек.
Если файл, о котором идет речь, очень большой, вам всегда следует использовать файл с отображением в память. clojure.contrib.mmap
предлагает некоторые функции для решения этой проблемы.
Я знаю, что могу создать массив из clojure, но как с этим справиться с помощью lisp?
Я не знаю о Способ Lisp, но способ Clojure позволяет вам использовать функции последовательности в массивах, поэтому вам не нужно выбирать между эффективным представлением и удобной обработкой (что, на мой взгляд, является одним из моментов, которые делают Clojure настолько прагматичным).
это ленивая последовательность байтов в файле, закрывающая дескриптор файла, когда последний байт был прочитан. Если вы работаете с последовательностями, загружаемыми из огромных файлов, будьте осторожны, чтобы нигде не удерживать заголовок последовательности, иначе у вас закончится память. Можно удерживать дескриптор файла, если вам нужно вручную закрыть его в состоянии ошибки.
(defn byte-seq [rdr] (let [result (. rdr read)] (if (= result -1) (do (. rdr close) nil) (lazy-seq (cons result (byte-seq rdr))))))