更改:
(list ("A" "AC") ("D" "1C") ("2" "#C") ("11" "AsS"))
收件人:
(setq master (list '("A" "AC") '("D" "1C") '("2" "#C") '("11" "AsS")))
(setq match_list (mapcar '(lambda(x)(cons (cadr x)(car x))) master))
(setq unsorted (mapcar 'cadr master))
(setq sorted (eea-lm-str_int_sort unsorted nil))
(setq result nil)
(foreach item sorted
(setq result (cons (cons (cdr (associtem match_list)) item) result)))
(setq result (reverse result))
如果我们有一个任意数量的字符列表。
如果我们想要一个普适函数,按所选参数排序(np.3或6)。 您将需要额外的输入来指定要排序的项目,然后使用nth而不是cadr来获取相关项目。
编辑:类似这样的内容
(if f (mapcar 'strcase l) l) 谢谢你的帮助,但你能给我解释一下这句话是怎么说的吗?”
9
如何检索项目? 更多关于n和DEFUN函数的信息。。。请务必注意“返回值”。 它是通过mapcar调用的。由于我使用了两次,所以我将其制作成了一个真正的defun,否则它可能是一个lambda,但在这种情况下,我会制作两个完全相同的lambda,因此一个defun的编码更少(可能效率略高)。
mapcar获取列表并将列表中的每个项依次发送到测试函数,即其输入参数的来源。在这个例子中,我称它为item,它是任意你所说的-lisp不在乎,你可以称它为这个奇怪的东西,它传递到这里,它是我需要做的事情,或者你内心想要的任何事情。我只是用了这个项目,因为它非常接近它真正的样子。也许我可以把它叫做subList,可能更具描述性。 你好
我还有一个问题。在附件测试lisp中。当上述位置11时出现问题。
我做错了什么?
斯特斯特。lsp 谢谢你这个伟大的排序程序,它的工作为我好! 正当在autcad工厂。不幸的是,在Bricscad中,结果作为附件给出。我不知道怎么了
页:
1
[2]