根据给定的比较函数来对表中的元素排序
(vl-sort list comparison-function)
参数
list
任意表。
comparison-function
比较函数。它可以是任何一个这样的函数:接受如下两个参数,如果第一个参数按排序顺序在第二个元素之前,则返回 T 或非 nil 值。comparison-function 的值可以采用如下格式:
返回值
表,其中包含 list 中的元素,这些元素按照 comparison-function 中指定的顺序排列。表中可能删除了重复的元素。
示例
对数值表排序:
_$ (vl-sort '(3 2 1 3) '<)
(1 2 3) ;
请注意结果表中仅包含一个 3。
按 Y 坐标对二维点表排序:
_$ (vl-sort '((1 3) (2 2) (3 1))
(function (lambda (e1 e2)
(< (cadr e1) (cadr e2)) ) ) )
((3 1) (2 2) (1 3))
对符号表排序:
_$ (vl-sort
'(a d c b a)
'(lambda (s1 s2)
(< (vl-symbol-name s1) (vl-symbol-name s2)) ) )
(A B C D) ; 请注意在结果表中仅有一个 A
明经通道 版权所有 未经许可 不得传播 | 评论 |