Как я могу прочитать содержимое файла в списке в Лиспе?

Я хочу прочитал содержимое файла в виде списка. Некоторые из моих попыток до сих пор были -

(defun get-file (filename)
  (let ((x (open filename)))
    (when x
      (loop for line = (read-line x nil)
     while line do (list line)))
    (close x)))

(defun get-file (filename)
  (let ((x (open filename :if-does-not-exist nil)) (contents (list nil)))
    (when x
      (loop for line = (read-line x nil)
     while line do (cons contents line)))
    (close x) contents))

(defun get-file (filename)
  (let ((x (open filename :if-does-not-exist nil)) (contents nil))
    (when x
      (loop for line = (read-line x nil)
     while line do (append contents line)))
    (close x) contents))

Ни одна из них не сработала. Кто-нибудь может подсказать мне способ? Или даже лучше - как поместить все содержимое в массив?

12
задан Rainer Joswig 2 October 2010 в 15:23
поделиться