common-lisp 条件表达式
示例
条件表达式可以使用~[和来完成~]。表达式的子句使用分隔~;。
默认情况下,~[从参数列表中获取一个整数,然后选择相应的子句。子句从零开始。
(format t "~@{~[First clause~;Second clause~;Third clause~;Fourth clause~]~%~}"
0 1 2 3)
; First clause
; Second clause
; Third clause
; Fourth clause最后一个子句可以用分隔,~:;以使其成为其他条款。
(format t "~@{~[First clause~;Second clause~;Third clause~:;Too high!~]~%~}"
0 1 2 3 4 5)
; First clause
; Second clause
; Third clause
; Too high!
; Too high!
; Too high!如果条件表达式以开头~:[,则它将期望使用广义布尔值而不是整数。它只能有两个子句。如果布尔值为,则打印第一个,如果为真NIL,则打印第二个子句。
(format t "~@{~:[False!~;True!~]~%~}"
t nil 10 "Foo" '())
; True!
; False!
; True!
; True!
; False!如果条件表达式以开头~@[,则只有一个子句,如果输入(广义布尔值)为真,则将打印该子句。如果布尔值是真实的,则布尔值将不会被消耗。
(format t "~@{~@[~s is truthy!~%~]~}"
t nil 10 "Foo" '())
; T is truthy!
; 10 is truthy!
; "Foo" is truthy!
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短