在Common Lisp中,if
语句用于根据条件执行不同的代码块。if
语句的语法如下:
(if condition then-form [else-form])
其中,condition
是一个表达式,它的值将决定是执行then-form
还是else-form
。then-form
是当condition
的值为非空(true)时执行的代码块,else-form
是当condition
的值为空(false)时执行的代码块。
当if
语句的多表达式主体需要progn
时,是因为if
语句只允许有一个表达式作为then-form
或else-form
。如果需要执行多个表达式,就需要将它们放在progn
中。progn
是一个特殊的形式,它允许将多个表达式组合成一个表达式,并按顺序执行它们。
例如,如果我们想要在条件为真时执行两个表达式,可以这样写:
(if condition
(progn
(do-something)
(do-something-else))
(do-something-elsewise))
在这个例子中,当condition
为真时,do-something
和do-something-else
两个表达式将被执行。如果condition
为假,则执行do-something-elsewise
表达式。注意,progn
是必要的,因为if
语句只允许有一个表达式作为then-form
或else-form
。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云