如何在elisp'if'语句中编写多个语句?

时间:2009-05-26 19:44:45

标签: syntax elisp

在elisp中,有一个'if'的情况,我希望执行许多不同的事情:

(if condition
    (do-something)
    (do-something-else)
    ...)

但是,(do-something-else)仅在else-case中执行。如何指定要执行的指令块?例如:

(if condition
    (begin
        (do-something)
        (do-something-else)
        ...))

2 个答案:

答案 0 :(得分:78)

使用progn

(if condition
    (progn
        (do-something)
        (do-something-else)))

答案 1 :(得分:42)

如果不需要else,则使用它可能更具可读性:

(when condition
    (do-something)
    (do-something-else))

并且,这是相反的

(unless (not condition)
    (do-something)
    (do-something-else))

查看Emacs Lisp manual for conditionals