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

标签 lisp common-lisp ccl clozure-cl

在 Clozure Common Lisp 中调用 (file-exists-p "somepath") 时出现“未定义的函数 FILE-EXISTS-P 使用参数调用...”错误,但在我看来到处都可以看到此函数.我什至在使用 M-x apropos 时看到它。

我正在使用 LispBox for Windows。

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

最佳答案

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

关于lisp - Clozure Common Lisp - file-exists-p 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53808518/

相关文章:

lisp - (通用)lisp 中的 Unix 信号处理

lisp - defvar、defparameter、setf 和 setq 之间有什么区别

lisp - Common Lisp 对象系统 (CLOS) 是否支持 duck-typing?

java - 树搜索保存执行状态

lisp - 方案中的 RAII?

sqlite - 使用 clsql 将 sqlite3 内存数据库写入文件

lisp - 为什么 Lisp 社区如此分散?

common-lisp - Clozure CL 编译的可执行文件丢失某些命令行参数

sockets - Clozure Common Lisp 中的 make-socket 错误

macos - Clozure CL : an error occurs when requiring Cocoa framework