73

在 elisp 中,有一个“如果”的情况,我想执行许多不同的事情:

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

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

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

2 回答 2

97

使用progn

(if condition
    (progn
        (do-something)
        (do-something-else)))
于 2009-05-26T19:53:30.470 回答
50

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

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

而且,反过来

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

查看Emacs Lisp 手册以了解条件

于 2009-05-26T20:30:32.593 回答