[英]Elisp: how can I express else-if
在elisp中,if语句逻辑只允许我使用if case和else case。
(if (< 3 5)
; if case
(foo)
; else case
(bar))
但如果我想做别的话怎么办? 我是否需要在else案例中添加新的if语句? 它看起来有点乱。
由于(if test-expression then-expression else-expression)
的一部分else if
要将一个新的if
作为else-expression
嵌套:
(if test-expression1
then-expression1
(if test-expression2
then-expression2
else-expression2))
在其他语言中, else if
通常在同一级别上。 在lisps,我们有cond
为此。 这与cond
完全相同:
(cond (test-expression1 then-expression1)
(test-expression2 then-expression2)
(t else-expression2))
请注意,表达式可以就是这样。 任何表达式通常都是这样的(some-test-p some-variable)
,其他表达式通常也是如此。 它们很少只是被评估的单个符号,但它可以用于非常简单的条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.