在elisp中,有一个'if'情况,我想执行许多不同的事情:
(if condition
(do-something)
(do-something-else)
...)
但是,(do-something-else)仅在其他情况下执行。您如何指定要执行的指令块?例如:
(if condition
(begin
(do-something)
(do-something-else)
...))
Answers:
如果else
不需要,使用起来可能更易读:
(when condition
(do-something)
(do-something-else))
而且,相反
(unless (not condition)
(do-something)
(do-something-else))
when
并且unless
返回值不重要时(即,它们仅用于副作用)。我通常使用and
和or
返回值很重要的时候。我通常使用if
和cond
有多个分支时(返回值是否重要)。