(setq l (vl-sort l '(lambda (a b) (< (car a) (car b)))))
这样排序,在结果中,就会把相同的car项,忽 ...
不会忽略掉的 菡萏 发表于 2012-4-7 21:11 static/image/common/back.gif
不会忽略掉的
(vl-sort '((A7 3) (A3 7) (A3 5) (A4 2))
(function (lambda (e1 e2)
(< (car e1) (car e2)))))
错误 : 用于比较的参数类型不正确: A3 A7
出错了,我要比较的,是前面的编号,可是它又带前缀的,结果还是比不了?如何处理 (vl-sort
'(a1 a2 c b a1)
'(lambda (s1 s2)
(< (vl-symbol-name s1) (vl-symbol-name s2)) ) )
这样的排序,又把相同的忽略掉了,晕菜
感谢楼主分享
认真学习一下 本帖最后由 zzl9105 于 2012-4-8 20:31 编辑
(setq i 1
old (car (car LST))
)
(mapcar '(lambda (x)
(if (/= X old)
(progn
(setq i (1+ i)
oldx
)
(cons (strcat "AZ" (itoa i)) (cadr x));;返回表中元素值
)
(cons (strcat "AZ" (itoa i)) (cadr x));;返回表中元素值
);;if
);;函数lambda
LST;;返回运算后的表
)
参数类型出错了,(cadr x),测试时,这个值,怎么是nil呢?奇怪,我贴出来大家帮我看看,我的表是这样的:
(("AZ4" . <图元名: 7efc3818>) ("AZ4" . <图元名: 7efc3710>) ("AZ3" . <图元名: 7efc36e8>) ("AZ1 ". <图元名: 7efc36d0>))
本帖最后由 zzl9105 于 2012-4-8 18:32 编辑
菡萏 发表于 2012-4-4 09:44 http://bbs.mjtd.com/static/image/common/back.gif
利用4楼的程序,如15楼的稍加修改,可否对15楼提供的表对,进行不连续号的连续处理,按(AZ1,。。。)(AZ2。。。)。。。。。。。
15楼是照葫芦画瓢来的,不过没搞成功,不知道错在哪里。。。。。。。。。
请指教
命令: (setq x '("AZ4" . <图元名: 7efc3818>))
错误 : 输入的点对中含有多余的 cdrs
这句为何错了??? 取点对后一项的函数是cdr,而不是cadr。点对是一种特殊的数据结构 还没看懂,先顶了!!!! cabinsummer 发表于 2012-4-10 01:01 static/image/common/back.gif
取点对后一项的函数是cdr,而不是cadr。点对是一种特殊的数据结构
谢谢高人出手指教,我再抽空改改试试,看能不能达到我前面发的截图的效果。
页:
1
[2]