- 积分
- 172964
- 明经币
- 个
- 注册时间
- 2014-2-22
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2015-7-31 15:47:02
|
显示全部楼层
本帖最后由 lucas_3333 于 2015-7-31 21:53 编辑
xiang19751218 发表于 2015-7-31 18:21 
(if [表示式2]) 检算比较式结果,如果为真,执行否则,执行
由于比较式(=(cons 1000 "1")(cons 1000 "1") ...
在我看来,楼主是知道(=(cons 1000 "1")(cons 1000 "1"))返回的是NIL,所以if 表达式的返回结果才是2,
楼主的疑惑是= 后的两个表达式是一样的,为什么还返回nil ,这就是我在主贴上点评的 = (equal to)的参数只适用于数值型或字符串型,而(cons 1000 "1")返回的结果是表,所以这就是我在一楼还有三楼nzl1116大师所回答的要用equal 函数原因,equal 函数是可以比较表(list)的
(equal expr1 expr2 [fuzz])
expr1 expr2
Type: Integer, Real, String, List, Ename (entity name)
(= numstr [numstr ...])
numstrType: Integer, Real, or String A number or string.
|
|