vl-directory-files 获取到以下表 ("1" "2" "3" "凳子" "常用" "常用件" "常用零件" "常用零件2" "按键" "长在零件" "长用件" "长用零件"),完全看不出是排序的依据是什么?
网友答: ASCII排序规则:
数字字符 (48-57):"1" "2" "3"
中文字符 (按Unicode码点):
"凳" (U+51F3)
"常" (U+5E38)
"按" (U+6309)
"长" (U+957F)
(defun natural-sort-files (file-list)
(vl-sort file-list
(function
(lambda (a b)
(< (vl-string-translate "" "" a)
(vl-string-translate "" "" b))))))
;; 使用示例
(setq sorted-list (natural-sort-files your-file-list))
随便搜的,你试试看。排序时ascii码
网友答:
明白了,多谢。网友答: 直接 (vl-sort lst '<)
网友答: ASCII排序规则:
数字字符 (48-57):"1" "2" "3"
中文字符 (按Unicode码点):
"凳" (U+51F3)
"常" (U+5E38)
"按" (U+6309)
"长" (U+957F)
(defun natural-sort-files (file-list)
(vl-sort file-list
(function
(lambda (a b)
(< (vl-string-translate "" "" a)
(vl-string-translate "" "" b))))))
;; 使用示例
(setq sorted-list (natural-sort-files your-file-list))
随便搜的,你试试看。排序时ascii码
网友答:
tigcat 发表于 2025-9-6 10:43
ASCII排序规则:
数字字符 (48-57):"1" "2" "3"
中文字符 (按Unicode码点):
明白了,多谢。网友答: 直接 (vl-sort lst '<)