由于交叉引用功能,我在Common Lisp代码中收到警告,因为代码运行得很好并不重要,但是我担心它会以某种方式导致未来错误。
所以说我们有这个条件:
(defun a (x)
...
(b x))
(defun b (y)
(a y)
...)
正如您所看到的,a
依赖于b
,而b
依赖于a
,因此您可能会想到,评估此文件会导致警告说b
未定义。
所以我的问题是:处理这个问题的惯用方法是什么?在某种程度上可以向前声明b
以便a
知道它吗?或者我应该留下它并相信解释者知道它在做什么?