蓦然回首 发表于 2011-8-20 17:29:16

排序函数vl-sort的使用问题

本帖最后由 蓦然回首 于 2011-8-20 18:13 编辑

我要是是实现对表内数组按大小进行排序,获取表pts,但是提示函数错误,请大家看看到底是哪里的问题啊?
提示错误信息:错误: 函数错误: (quote #<USUBR @06a87190 -lambda->)
程序代码:
(defun C:gaa(/ pts )
(vl-load-com)
(setq pts'())
(setq d -12.3 h 13.4 d1 -20.5 h1 15.3 d2 -30.5 h2 14.6)
(setq cc (list d h))
(setq cc2 (list d1 h1))
(setq cc3 (list d2 h2))
(setq pts(cons cc pts))
(setq pts (cons cc3 pts))
(setq pts(cons cc2 pts))
(princ pts)
   (vl-sort pts '(function (lambda (e1 e2)(< (car e1)(car e2)))) )
(setq ff1 (open "C:\\C盘text\\断面.txt" "a"))
(print pts ff1)
(close ff1)
)

问题已解决!!!

Andyhon 发表于 2011-8-20 18:19:13

===>
(vl-sort pts (function (lambda (e1 e2)(< (car e1)(car e2)))) )

chengx2000 发表于 2011-8-20 18:26:46

本帖最后由 chengx2000 于 2011-8-20 18:28 编辑


(defun C:gaa (/ pts d h d1 h1 d2 h2 cc cc2 cc3 )
;;;(vl-load-com)这段代码不用照样能用vl-sort
   (setq pts '())
   (setq d-12.3
         h13.4
         d1 -20.5
         h1 15.3
         d2 -30.5
         h2 14.6
   )
   (setq cc(list d h)
         cc2 (list d1 h1)
         cc3 (list d2 h2)
         pts (cons cc pts)
         pts (cons cc3 pts)
         pts (cons cc2 pts)
   )
   (princ pts)
   (setq
      pts (vl-sort pts
                   (function (lambda (e1 e2) (< (car e1) (car e2))));此处多了一个quote,现在已经去掉了
          )
   )
   (setq ff1 (open "d:\\C盘text\\断面.txt" "a"))
   (print pts ff1)
   (close ff1)
)

434939575 发表于 2011-9-25 23:22:22

顶强人

xjf 发表于 2011-12-19 15:20:12

          楼上的能排序但不能消重,还是谢
页: [1]
查看完整版本: 排序函数vl-sort的使用问题