(setq StrLst '("A" "C" "B" "E" "A" "D" "B" "A" "C"))
("A" "C" "B" "E" "A" "D" "B" "A" "C")
_$ (vl-sort-i StrLst (function (lambda (a b) (< a b))))
(7 4 0 6 2 8 1 5 3)
_$ (vl-sort StrLst (function (lambda (a b) (< a b))))
("A" "A" "A" "B" "B" "C" "C" "D" "E")
_$ (sort-list StrLst (function (lambda (a b) (< a b))))
("A" "A" "A" "B" "B" "C" "C" "D" "E")
_$ (setq IntLst '(10 30 20 40 10 50 20 10 30))
(10 30 20 40 10 50 20 10 30)
_$ (vl-sort-i IntLst (function (lambda (a b) (< a b))))
(7 4 0 6 2 8 1 3 5)
_$ (vl-sort IntLst (function (lambda (a b) (< a b))))
(10 20 30 40 50)
_$ (sort-list IntLst (function (lambda (a b) (< a b))))
(10 10 10 20 20 30 30 40 50)
我曾想过编写这样的函数(我没有想到(lambda(x)(nth x lst))部分),但现在我发现这样的函数是存在的。
另一个精彩的例子是展示如何将函数用作子函数中的参数。
我不知道你是否仍然活跃在这个论坛,但我很惊讶,这个帖子没有得到任何回复,关于这一点。所以我重新启用它,因为它将对像我这样的学习型用户有所帮助。