是否有一种简单的方法来获取“目录”功能以按字母顺序排列值?

时间:2019-04-28 16:23:46

标签: directory common-lisp alphabetical clisp alphabetical-sort

使用目录功能检索以.pas结尾的文件的所有路径,该文件以我的子文件夹“ testfiles”结尾。到目前为止,一切都很好。问题在于路径不是按字母顺序排列的。

列表中的路径不是字符串或列表,因此sort函数对我也不起作用。

有解决此问题的简便方法吗?

代码:

(setq test (directory "testfiles/*.pas"))

1 个答案:

答案 0 :(得分:2)

Common Lisp中的序列函数功能强大,可以通过各种关键字参数(:key,:test等,取决于函数)来实现。 SORT使用可选的:key参数。

(sort (directory "testfiles/*.pas") #'string< :key #'pathname-name)

注意:SORT是一种破坏性操作。但这在这里不是问题,因为DIRECTORY总是返回一个全新的列表。