aka*_*nuk 6 hashtable common-lisp unused-variables
我不知道它是否依赖于实现.万一重要,我使用的是Corman Lisp 3.0
当我做这样的事情时:
(loop for v being the hash-values of *my-hash-table*
when (> v 1) sum v)
Run Code Online (Sandbox Code Playgroud)
我收到两个警告:
;;; Warning: Unused variable G9063 in anonymous function
;;; Warning: Unused variable G9062 in anonymous function
Run Code Online (Sandbox Code Playgroud)
随着G的数量每次都在变化.
结果是正确的.他们的意思是什么?它们为什么会出现?我想可能存在某种loop语法滥用,导致这些警告,但我没有看到它.
Corman Lisp多年来一直没有更新.将G*未使用的变量可能是gensymS IN的宏扩展loop.尝试
(macroexpand '(loop ...))
Run Code Online (Sandbox Code Playgroud)
看看这些变量存储的是什么.