SBCL中如何让变量无论是否使用都不触发警告?
在SBCL中解决变量未使用/使用时的双重警告问题
用(declare (ignorable foo))替换(declare (ignore foo))就行。ignorable的作用很直白:变量没被使用时,SBCL不会弹出未使用警告;真用到这个变量时,也不会触发任何警告,刚好匹配你的需求。
放到你编写宏的场景里,直接在宏展开的代码里给那些通用标准变量加上(declare (ignorable ...))声明就搞定了。这样用户使用宏时,不管用不用这些变量,都不会收到警告,也不用手动加声明,既不用全局关闭警告,也不用搞复杂的表单扫描逻辑。
内容的提问来源于stack exchange,提问作者John Graham
相关产品推荐
相关产品推荐

