car和cadr提取的为数值,cddr提取的却成了list型,求解答
[*]zuobiao 值为 (266886.0,131267.0,2.5)
[*](setq qx1 (-(car zuobiao)(/ JCCCD 2)));qx1 为real型
[*](setq qy1 (-(cadr zuobiao)(/ JCCKD 2)));qy1 为real型
问题:
[*](setq qh1 (cddr zuobiao));qh1 结果为什么是list型?
求大神解惑
谷歌查一下咯
试试(caddr a) 或 (nth 2 a) 本帖最后由 whg587081 于 2023-3-20 23:07 编辑
试试(car(cdr(cdr a))) CDDR是去掉前两个元素后的表,虽然只有一个元素,它还是个表 用 (setq qh1 (caddr zuobiao)) 本帖最后由 wzg356 于 2023-3-22 15:22 编辑
CDR返回list移除第一个元素后剩下的部分,如果是点对(cons a b),则返回b
car返回list第一个元素
CDR与car组合
(car ls)==(nth 0 ls)
(cadr ls)==(car(cdr ls))==(nth 1 ls)
(cddr ls)==(cdr(cdr ls))
(caddr ls)==(car(cdr(cdr ls)))==(nth 2 ls)
以此类推,a/ d共可以嵌套4个
谢谢各位,我换了个思路,直接提取XDATE中的值来用了 car,cdr是最基本的两个,其它的都是组合,,通过A,D任意组合,只要a或d不超过4个就行
只要是ca...r返回的都是单一元素,cd...r都是返回表
页:
[1]