Когда я хочу прочитать S-выражение, хранящееся в файле, в работающей программе Common Lisp, я делаю следующее:
(defun load-file (filename)
"Loads data corresponding to a s-expression in file with name FILENAME."
(with-open-file (stream filename)
(read stream)))
Если, например, у меня есть файл с именем foo.txt
, который содержит S-выражение (1 2 3)
, вышеуказанная функция вернет это S-выражение, если вызывается следующим образом: (load-file "foo.txt")
.
Я искал и искал и не нашел столь же элегантного решения в Clojure. Есть идеи?
Спасибо!