Как вы можете написать несколько утверждений в выражении elisp 'if'? - PullRequest
64 голосов
/ 26 мая 2009

В elisp есть случай «если», где я хотел бы выполнить много разных вещей:

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

Однако, (сделать что-то еще) выполняется только в другом случае. Как вы можете указать блок инструкций для выполнения? Например:

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

Ответы [ 2 ]

80 голосов
/ 26 мая 2009

Использование progn:

(if condition
    (progn
        (do-something)
        (do-something-else)))
42 голосов
/ 27 мая 2009

Если else не требуется, возможно, его удобнее читать:

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

И есть обратное

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

Ознакомьтесь с руководством по Emacs Lisp для условий .

...