在Clozure Common Lisp中调用(file-exists-p“ somepath”)时,出现“未定义函数FILE-EXISTS-P调用,带有参数...”错误,但是我发现到处都显示该功能应该可用。我什至在使用M-x apropos时也能看到它。
我正在使用Windows的LispBox。
有人知道什么地方可能出了问题,或者提出了一个我可以尝试找出答案的过程吗?
答案 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/"