Когда я хочу прочитать в 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. Любые идеи?
Спасибо!