vl-sort (AutoLISP)

指定された比較関数にしたがってリスト内の要素をソートします。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(vl-sort lst comparison-function)
lst

タイプ: リスト

ソートするリスト。

comparison-function

タイプ: サブルーチンまたはシンボル

比較関数。これは、2 つの引数を受け入れ、第 1 引数が第 2 引数よりもソート順が前の場合は T (または nil 以外の任意の値)を返すような任意の関数です。comparison-function 引数の値は、次の形式のいずれかが指定可能です。

  • シンボル(関数名)
  • '(LAMBDA (A1 A2) ...)
  • (FUNCTION (LAMBDA (A1 A2) ...))

戻り値

タイプ: リスト

comparison-function 引数で指定された順序で並べ替えた lst の要素を含んだリスト。重複した要素がリストから削除されることがあります。

数値のリストをソートします。

(vl-sort '(3 2 1 3) '<)
(1 2 3)

結果として得られたリストには 3 が 1 つしか含まれていないことに注意してください。

2D 点のリストを 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)       ;  Note that only one A remains in the result list