in elisp's let, how do you reference a variabl

2020-07-03 04:28发布

问题:

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

This throws the error

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

What's the canonical way to do this?

回答1:

The canonical way is to use let* (also note that I added a %s format string to your message form):

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

The let* function allows you to reference other variables that have previously been defined.



标签: emacs elisp