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

Den*_*nis 2 lisp common-lisp ccl clozure-cl

在Clozure Common Lisp中调用(file-exists -p"somepath")时,我得到一个"未定义的函数FILE-EXISTS-P with arguments ..."错误,但在任何地方我看起来这个函数都应该可用.我甚至在使用Mx apropos时都会看到它.

我正在使用LispBox for Windows.

有没有人知道可能出现什么问题,或者可能建议我可以尝试解决这个问题的过程?

Ren*_*nzo 6

FILE-EXISTS-P不是标准的Common Lisp函数或Clozure Common 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"
Run Code Online (Sandbox Code Playgroud)

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

CL-USER> (probe-file "/Users/myname/")
#P"/Users/myname/"
Run Code Online (Sandbox Code Playgroud)