web-dev-qa-db-ja.com

elisp 'if'ステートメントで複数のステートメントをどのように書くことができますか?

Elispには、さまざまなことを実行したい「if」の場合があります。

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

ただし、(do-something-else)はelse-caseでのみ実行されます。実行する命令のブロックをどのように指定できますか?例えば:

(if condition
    (begin
        (do-something)
        (do-something-else)
        ...))
64
Martin Cote

prognを使用します:

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

elseが不要な場合は、次の方が読みやすい場合があります。

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

そして、逆があります

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

条件付きのEmacs LISPマニュアル をチェックしてください。

44
Trey Jackson