在defun中引用变量后,变量将变为未定义

时间:2011-07-20 01:31:42

标签: common-lisp

你好,stackoverflow的人,我在跟随Adam Peterson's Lisp for the Web tutorial时遇到了一个奇怪的问题。问题可能是Clozure CL的一个问题,但我只是想提供一些背景知识。

发生的事情很简单。我通过做(defvar * games *'())来声明变量* games *。当我声明一个引用这个变量的函数时,例如game-from-name,编译器只是对我大喊大叫未声明的自由变量*游戏*。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:3)

您可以在不同的包中执行。尝试在您定义的位置检查*in-package*变量的值并访问该变量以检查哪个包是最新的。您可以使用in-package宏来设置当前包。