代码之家  ›  专栏  ›  技术社区  ›  hw9527

Elisp变量绑定到自身

  •  1
  • hw9527  · 技术社区  · 7 年前

    我有这样的elisp代码:

    (setq a nil)
    (defun testa (a) (add-to-list a "ABCD"))
    (testa 'a)
    

    我想要的是 a ("ABCD") 但是由于函数的参数名 testa 的局部绑定

    我的问题是:如果我不在外部重命名变量,是不是elisp的特性让我无法解决,或者有什么好的解决方案?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Tim Miller    7 年前

    这是elisp中的预期行为。有关elisp变量作用域的更多信息, the manual 有一个彻底的解释。 This post 在解释范围方面也做得很好。