一种方式不一样的结果?为什么?
第一个例子:(setq pt '(4 8))
(setq plist (cons pt plist))
结果是((4 8))
第二个例子:
(setq a 2)
(setq b (+ a b))
结果是“; 错误: 参数类型错误: numberp: nil”
这两个例子我感觉模式差不多,为什么第一个能出来 正确结果,而第二个例子却是类型错误?
本帖最后由 xiabin68 于 2012-11-14 13:06 编辑
根定是错了三,你的B是个什么呢,2+B,,多半是等于nil了三,,结果是对的,,,,
(setq a 2)
(setq b (+ a 2))
(setq bb (+ b a))
再说CONS是可以把两个NIL也可以的到空表的,
有点明白了,意思是说如果plist 和b 如果没有提前定义,那么他们一般是nil,而cons函数可以处理nil,而+函数无法处理
页:
[1]