[英]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.