How can you write multiple statements in elisp 'if' statement?

▼魔方 西西 提交于 2019-12-03 01:47:18

问题


In elisp, there is an 'if' case where I would like to perform many different things:

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

However, (do-something-else) is executed in the else-case only. How can you specify a block of instructions to execute? For example:

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

回答1:


Use progn:

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



回答2:


If there's no else required, it might be more readable to use:

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

And, there's the converse

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

Check out the Emacs Lisp manual for conditionals.



来源:https://stackoverflow.com/questions/912355/how-can-you-write-multiple-statements-in-elisp-if-statement

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!