答案 0 :(得分:9)
您只需使用with-open-file
打开文件进行阅读,然后根据需要随时使用函数read
,或者使用数组。每个read
返回一个数组。使用loop
,您可以将收集到列表中。
基本上是这样的:
(with-open-file (s filename)
(let ((*read-eval* nil))
(loop with eof = '#:eof
for object = (read s nil eof)
until (eq object eof)
collect object)))
另请注意,每个数组是否都在自己的行上并不重要。如果它们在一条线上,它仍然可以工作。表达式之间的换行符只是空白,用于Lisp 阅读器。