我知道如何用一个单独的条件写一个if语句。例如:
(if (> a 20))但是,在在线研究之后,我没有找到任何资源来解释如何编写包含多个条件的if语句(例如,检查a > 20还是a < 10)。如何在Lisp中编写包含多个条件的if语句?
发布于 2022-02-03 01:25:55
无论发生什么情况,如果特殊形式是相同的:
(if test-expression
true-expression
false-expression)如果您希望发生一些事情,如果两个a都高于20或低于10,您只需这样做:
(if (not (<= 10 a 20)) ; same as (or (> 20 a) (< 10 a))
true-expression
false-expression)但我明白了。如果您有两个表达式,其中一个是true应该触发的,那么您可以使用or
(if (or (> 20 a) (< 10 a))
true-expression
false-expression)现在,and和or是下一个ifs的宏。例如:上面的表达式可以这样做:
(if (> 20 a)
true-expression
(if (< 10 a)
true-expression
false-expression)))其中true-expression在两处都是相同的表达式。
发布于 2022-02-03 01:07:59
使用OR和/或AND宏组合条件。
(if (or (> a 20) (< a 10))
;; do something
)https://stackoverflow.com/questions/70964796
复制相似问题