船员,
我属于那种坚持使用 SETF 定义变量的类型。我已经升级到一台新机器(和一个新版本的 SBCL)并且它并没有让我摆脱这样做(自然地,我得到了适当的“==> undefined variable ...”错误)
我的问题是,我已经编写了 20,000 行代码(错误地)用 SETF 定义了我的变量,我不喜欢重写所有代码以使解释器消化所有代码的前景。
有没有办法关闭该错误,以便继续进行解释?
感谢任何帮助。
此致
-托德
最佳答案
一个选项是设置你的包环境,这样一个裸符号 setf
引用 my-gross-hack::setf
而不是 cl:setf
。例如,您可以这样设置:
(defpackage #:my-gross-hack
(:use #:cl)
(:shadow #:setf))
;;; define your own setf here
(defpackage #:my-project
(use #:cl)
(shadowing-import-from #:my-gross-hack #:setf))
;;; proceed to use setf willy-nilly
关于variables - 通过使用 SETF 定义变量来避免错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48359951/