sbcl(目录“*”)不返回所有文件(例如缺少 *.lisp)

9mj*_*mjb 4 lisp sbcl common-lisp

SBCL(目录“*”)根据扩展名过滤掉一些文件名。我如何让它返回所有文件,或者特别是所有匹配模式的文件(如在 bash globing 中)

(directory "*") ; 列出一些文件,而不是全部 (directory " MyFile ") ; 列出一些文件,但同样,按扩展名过滤

在我看来被忽略的扩展名……至少没有列出 *.lisp。

Fedora18 上的 SBCL 1.1.2-1.fc18

Men*_*ein 5

可能你应该使用原生形式:

(directory (make-pathname :name :wild :type :wild))
Run Code Online (Sandbox Code Playgroud)

因为所有这些奇怪的符号*?.*都不会增加代码的可理解性。Lisp 不应该是单行语言。:)

但是如果你只想列出目录中的所有文件,你可以使用cl-fad函数list-directory