小编zac*_*que的帖子

BOUNDP 检查 PROGV 中的自由变量?

假设 和a都未b绑定(即(notany #'boundp '(a b))=> T),那么这将按预期工作:

(progv '(a b) '(1)
  (boundp 'a)) ; => T
Run Code Online (Sandbox Code Playgroud)

然后PROGV进入 CLHS 状态:

如果提供的值太少,则剩余的符号将被绑定,然后变得没有值。

这与我在 REPL 中看到的相矛盾:

(progv '(a b) '(1)
  (boundp 'b)) ; => NIL
Run Code Online (Sandbox Code Playgroud)

我期待(boundp 'b)着回来T

问:我是否误解了 CLHS 中的措辞?或者这是 SBCL 中的一个错误?

环境:SBCL 2.2.10,Linux x86_64

谢谢!

common-lisp

2
推荐指数
1
解决办法
76
查看次数

标签 统计

common-lisp ×1