gpt4 book ai didi

error-handling - 口齿不清错误 : Undeclared Free Variables

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:40 26 4
gpt4 key购买 nike

我有一个正在尝试编译的函数,但在过去的 30 分钟里我一直在努力弄清楚为什么这段代码会给我一个Undeclared free variable错误。我正在使用 Emacs,无法解释为什么会出现此错误。

(defun pretty-all(res diff)
(let* ((v-list (blank-unit-list res))
(c-list (blank-unit-list res)))
(complete-fill c-list v-list res (total-res res) diff)
(format t
"Resistance is ~S~% Voltage is ~S~% Current is ~S~%"
res v-list c-list)))

blank-unit-list , complete-fill , total-res 都是我自定义的函数。

我很确定这个错误与我构建代码的方式有关,但正如我之前所说,我无法弄清楚是什么。


从 Emacs 复制:

3 compiler notes:

CircuitFunctions.lisp:61:64:
warning: Undeclared free variable RES

CircuitFunctions.lisp:61:70:
warning: Undeclared free variable V-LIST

CircuitFunctions.lisp:61:81:
warning: Undeclared free variable C-LIST

Compilation failed.

最佳答案

如果您使用的是 SLIME(看起来您可能是,因为您使用的是 lispbox),应该有一种方法可以从编译器注释转到它在源代码中出现的位置。我不记得确切的组合键(如果你把一个带有粘液的 emacs 放在我面前,我可能会按下它,但这并不意味着我有意识地记住它是什么,不幸的是)。检查 slime-next-error 绑定(bind)到哪个键可能会有帮助,而且 SLIME 菜单中可能有一些东西)。

通过查看编译器说明中的行号(我认为 :61:64 等是源行和列),实际发出的错误与您粘贴的代码(根本)不匹配。我看不到任何一行包含 v-listresc-list 的所有顺序。不过,这可能是由于宏扩展(作为旁注,它看起来好像 complete-fill 是一个宏或破坏性地修改了它的两个参数)。

关于error-handling - 口齿不清错误 : Undeclared Free Variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10941629/

26 4 0
文章推荐: python - 如何使用 BeautifulSoup 迭代站点上的多个内部链接以输出所有电子邮件地址?
文章推荐: javascript - 滚动时如何使
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com