lisp 字符表 排序
我有这样一个列表((变径320200200200nilnil1)(直管200200200200nilnil1)(弯头400250400250nilnil1)(三通4002...
我有这样一个列表((变径 320 200 200 200 nil nil 1) (直管 200 200 200 200 nil nil 1)(弯头 400 250 400 250 nil nil 1) (三通 400 250 250 200 400 320 1) (直管 400 320 400 320 nil nil 1) (变径 400 320 320 200 nil nil 1)),我想按每个表项的前3项进行排列。我用(setq line_l_tmp
(vl-sort line_l_tmp
(function (lambda (e1 e2)
(> (ascii (nth 0 e1)) (ascii (nth 0 e2)))
(< (nth 1 e1) (nth 1 e2))
(< (nth 2 e1) (nth 2 e2))
)
)
)
)
这样只是按第2 和第3项进行排列,第一项 文字项还是乱的,请教高手。 展开
(vl-sort line_l_tmp
(function (lambda (e1 e2)
(> (ascii (nth 0 e1)) (ascii (nth 0 e2)))
(< (nth 1 e1) (nth 1 e2))
(< (nth 2 e1) (nth 2 e2))
)
)
)
)
这样只是按第2 和第3项进行排列,第一项 文字项还是乱的,请教高手。 展开
3个回答
展开全部
我想你第一项是文字,文字应该用字符串表示。如果没有字符串,默认为符号,排序估计是不是会产生问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AutoLisp不是通用的lisp不知道是否支持sort函数,common lisp里可以用sort 函数排序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询