Как вы можете писать несколько операторов в инструкции elisp "if"?

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

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

Однако (do-something-else) выполняется только в случае else-case. Как указать блок выполнения команд? Например:

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

Ответ 1

Используйте progn:

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

Ответ 2

Если нет else, это может быть более читаемым:

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

И, там обратное

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

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