リストをソートする Emacs EmacsLisp
Emacs Lispでリストをソートする方法。
公式マニュアルから。
https://www.gnu.org/software/emacs/manual/html_node/eintr/Sorting.html(sort '(4 8 21 17 33 7 21 7) '<)
比較関数を変更すれば文字列などもソートできる。
(sort '("abc" "def" "abb") 'string<)
abb | abc | def |
なお、sortを実行すると元の配列を破壊するようだ。
(let ((l '(4 3 1 2))) (sort l '<) l)
4 |
引き続き変数を使いたい場合は次のように再代入する必要がある。
(let ((l '(4 3 1 2))) (setq l (sort l '<)) l)
1 | 2 | 3 | 4 |