Clozure Common Lisp-file-exists-p未定义

时间:2018-12-17 03:10:18

标签: lisp common-lisp ccl clozure-cl

在Clozure Common Lisp中调用(file-exists-p“ somepath”)时,出现“未定义函数FILE-EXISTS-P调用,带有参数...”错误,但是我发现到处都显示该功能应该可用。我什至在使用M-x apropos时也能看到它。

我正在使用Windows的LispBox。

有人知道什么地方可能出了问题,或者提出了一个我可以尝试找出答案的过程吗?

1 个答案:

答案 0 :(得分:6)

FILE-EXISTS-P不是标准的Common Lisp函数或Clozure Common Lisp特定函数。

相反,您可以使用标准的PROBE-FILE函数(请参阅manual)来检查文件是否存在:

CL-USER> (probe-file "not-existant-file.lisp")
NIL
CL-USER> (probe-file "/Users/myname/temp.lisp")
#P"/Users/myname/temp.lisp"

请注意,标准中的尚未定义将函数应用于目录的结果,而CCL实现(至少在某些系统上)也正确检查了目录是否存在:

CL-USER> (probe-file "/Users/myname/")
#P"/Users/myname/"