使用目录函数检索.pas以我的子文件夹“testfiles”结尾的文件的所有路径。到现在为止还挺好。问题是路径不是按字母顺序排列的。
列表中的路径不是字符串或列表,因此sort函数对我也不起作用。
有没有一种简单的方法来解决这个问题?
码:
(setq test (directory "testfiles/*.pas"))
Common Lisp中的序列函数功能强大,通过各种关键字参数(:key,:test等,具体取决于函数)。 SORT采用可选的:关键参数。
(sort (directory "testfiles/*.pas") #'string< :key #'pathname-name)
注意:SORT是一种破坏性的操作。但这不是问题,因为DIRECTORY总是会返回一个刚刚列出的清单。