Elisp:引用let中的先前变量

时间:2013-09-17 18:37:30

标签: elisp local-variables let

我想在let中定义两个变量,其中一个变量取决于另一个变量的值,如下所示:

(let ((a (func))
      (b (if (eq a 1) 2 3)))
  ...)    

显然,这不是正确的方法,emacs说a无效。 什么是正确的方法?

1 个答案:

答案 0 :(得分:8)

是的,您需要使用let* instead of let

基本上,let*是嵌套let的快捷方式:

(let ((a 1))
  (let ((b (1+ a)))
    (let ((c (* 2 b)))
      ...)))

相当于

(let* ((a 1)
       (b (1+ a))
       (c (* 2 b)))
  ...)