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

Clozure Common Lisp-file-exists-p未定义,lisp,common-lisp,ccl,clozure-cl,Lisp,Common Lisp,Ccl,Clozure Cl,在Clozure Common Lisp中调用(FILE-EXISTS-p“somepath”)时,我遇到了一个“未定义的函数FILE-EXISTS-p called with arguments…”错误,但无论我在哪里查看,该函数都应该可用。我甚至在恰当地使用M-x时看到了它 我正在使用LispBox for Windows 有没有人知道什么可能是错误的,或者建议一个我可以尝试找出错误的过程?FILE-EXISTS-p不是标准的通用Lisp函数或Clozure通用Lisp特定函数 相反,您可以

在Clozure Common Lisp中调用(FILE-EXISTS-p“somepath”)时,我遇到了一个“未定义的函数FILE-EXISTS-p called with arguments…”错误,但无论我在哪里查看,该函数都应该可用。我甚至在恰当地使用M-x时看到了它

我正在使用LispBox for Windows


有没有人知道什么可能是错误的,或者建议一个我可以尝试找出错误的过程?

FILE-EXISTS-p不是标准的通用Lisp函数或Clozure通用Lisp特定函数

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

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/"

M-x apropos
显示了Emacs Lisp函数,而不是常见的Lisp函数(您可以在REPL或等效slime命令中找到
(apropos“…)
)。此外,您应该考虑使用Lispbox(而不是几年来更新)。Fiel-Engs-p不是标准的普通LISP函数或CulZueLois-Lisp特定函数。您可以使用标准PROBE-FILE函数(请参阅)检查文件是否存在。谢谢!我来考虑一下入门。我现在明白了我是如何在错误的地方寻找的——PROBE-FILE可以工作@Renzo-我认为你的评论是更好的答案,但因为这是一个评论,我不能将其标记为这样。还有
uiop:probe file*
。它适用于文件和目录,而且由于uiop是asdf的一部分,所以它可用的可能性很大。