Syntax 如何在elisp';如果';陈述
在elisp中,有一种“如果”情况,我希望执行许多不同的操作:Syntax 如何在elisp';如果';陈述,syntax,elisp,Syntax,Elisp,在elisp中,有一种“如果”情况,我希望执行许多不同的操作: (if condition (do-something) (do-something-else) ...) 但是,(doother)仅在else情况下执行。如何指定要执行的指令块?例如: (if condition (begin (do-something) (do-something-else) ...)) 使用progn: (if conditi
(if condition
(do-something)
(do-something-else)
...)
但是,(doother)仅在else情况下执行。如何指定要执行的指令块?例如:
(if condition
(begin
(do-something)
(do-something-else)
...))
使用
progn
:
(if condition
(progn
(do-something)
(do-something-else)))
如果不需要
else
,则可以使用:
(when condition
(do-something)
(do-something-else))
相反,情况正好相反
(unless (not condition)
(do-something)
(do-something-else))
查看。FWIW,我通常遵循Common Lisp中建议的约定,即在和时使用,除非时返回值不重要(即,它们仅用于副作用)。当返回值很重要时,我通常使用
和
以及或
。当存在多个分支时(无论返回值是否重要),我通常使用if
和cond
。