fixo 发表于 2022-7-5 23:28:34

 
更改:
(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))

Lee Mac 发表于 2022-7-5 23:32:06

如果我们有一个任意数量的字符列表。
如果我们想要一个普适函数,按所选参数排序(np.3或6)。

jan_ek 发表于 2022-7-5 23:35:47

您将需要额外的输入来指定要排序的项目,然后使用nth而不是cadr来获取相关项目。
 
编辑:类似这样的内容
(if f (mapcar 'strcase l) l)

irneb 发表于 2022-7-5 23:38:26

谢谢你的帮助,但你能给我解释一下这句话是怎么说的吗?”
9
如何检索项目?

jan_ek 发表于 2022-7-5 23:42:54

更多关于n和DEFUN函数的信息。。。请务必注意“返回值”。

BlackBox 发表于 2022-7-5 23:45:14

它是通过mapcar调用的。由于我使用了两次,所以我将其制作成了一个真正的defun,否则它可能是一个lambda,但在这种情况下,我会制作两个完全相同的lambda,因此一个defun的编码更少(可能效率略高)。
 
mapcar获取列表并将列表中的每个项依次发送到测试函数,即其输入参数的来源。在这个例子中,我称它为item,它是任意你所说的-lisp不在乎,你可以称它为这个奇怪的东西,它传递到这里,它是我需要做的事情,或者你内心想要的任何事情。我只是用了这个项目,因为它非常接近它真正的样子。也许我可以把它叫做subList,可能更具描述性。

irneb 发表于 2022-7-5 23:46:20

你好
我还有一个问题。在附件测试lisp中。当上述位置11时出现问题。
我做错了什么?
斯特斯特。lsp

jan_ek 发表于 2022-7-5 23:51:17

谢谢你这个伟大的排序程序,它的工作为我好!

Bhull1985 发表于 2022-7-5 23:53:57

正当在autcad工厂。不幸的是,在Bricscad中,结果作为附件给出。我不知道怎么了

jan_ek 发表于 2022-7-5 23:55:30

页: 1 [2]
查看完整版本: [自动LIS]排序代码