我一直在尝试查看CLISP中目录中所有文件的列表,但我只能获取目录中的所有非目录文件。
我目前正在Windows 7中使用cygwin进行此操作,因此可能会影响我的结果。我对CLISP(以及所有人的LISP)都很陌生,而我目前正在尝试做的事情如下:
(directory (make-pathname :directory
'(:absolute "cygdrive" "c" "Download")
:name :wild))
这成功返回“C:\ Download”中的所有非目录文件。但是,它不会返回目录。我已经搜遍了所有Common Lisp引用指向使用“目录”,但似乎不可能对我来说,没有Common Lisp(或者只是CLISP?)方式来解决目录中的所有文件。
任何帮助将不胜感激。提前谢谢!
答案 0 :(得分:5)
请参阅CLISP实施说明section 20.3.2:
“如果您想要当前目录中的所有文件和子目录,则应使用(NCONC (DIRECTORY "*/") (DIRECTORY "*"))
。”
答案 1 :(得分:2)
在Common Lisp中,结果可能是一个不幸的决定,目录不是文件。因此,要获取示例中的目录列表,您需要在目录片段中使用通配符:
(directory
(make-pathname :directory
'(:absolute "cygdrive" "c" "Download" :wild)))