我有一个文件,每行都有一个二维数组.我找不到将文件解析为实际数组的方法,并将它们放入列表中.
您只需打开文件进行阅读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)))
Run Code Online (Sandbox Code Playgroud)
另请注意,每个阵列是否都在自己的行上并不重要.如果它们在一条线上,它仍然可以工作.表达式之间的换行符只是Lisp 读者的空白.