在elisp的let中,如何在绑定另一个变量时引用同一个let中的变量?

时间:2011-07-22 18:51:03

标签: emacs elisp

(let ((a 1) (b (+ a 1)))
  (message a))

这会引发错误

Debugger entered--Lisp error: (void-variable a)

这样做的规范方法是什么?

1 个答案:

答案 0 :(得分:26)

规范方法是使用let*(另请注意,我在您的%s表单中添加了message格式字符串):

(let* ((a 1) (b (+ a 1)))
  (message "%s" a))

let*函数允许您引用先前已定义的其他变量。