Aru*_*x Z 1 lisp common-lisp
为什么and运算符返回值?返回的值取决于什么?
and
当我尝试以下示例时 -
(write (and a b c d)) ; prints the greatest integer among a b c d
其中a,b,c和d是正整数,然后and返回他们最大的.
a
b
c
d
然而,当之一a,b,c和d为0或负值,则最小整数被返回.为什么会这样?
Ósc*_*pez 7
如文档中所述:
宏从左到右一次and评估每个表单.只要任何表单评估nil,and返回时nil不会评估剩余的表单.如果所有表单都是最后一个评估true值,则返回通过评估最后一个表单生成的结果.如果没有提供表格,则(and)退货t.
nil
true
(and)
t
因此返回的值不依赖于哪个值是参数的"最大"或"最小".
归档时间:
10 年,1 月 前
查看次数:
99 次
最近记录: