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

Clozure Common Lisp - file-exists-p is undefined

我在 Clozure Common Lisp 中调用 (file-exists-p "somepath") 时遇到 "Undefined function FILE-EXISTS-P called with arguments ..." 错误,但无论我在哪里看,似乎该函数都可用。我什至在使用 M-x apropos 时看到它。

我正在为 Windows 使用 LispBox。

有没有人知道可能出了什么问题,或者建议我可以尝试找出问题所在的过程?

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