列表是一组用空格分隔并用括号括起来的相关值。 列表提供了一种存储大量相关值的有效方法。毕竟,LISP之所以如此命名,是因为它是LISt处理语言。一旦你了解了列表的强大功能,你会发现你可以创建更强大、更灵活的应用程序。列表用于表示 2D 和 3D 坐标值以及实体数据。 列表的示例包括 、 和 。(1.0 1.0 0.0)("this" "that" "the other")(1 . "ONE") AutoLISP 提供了许多用于处理列表的函数。以下是一些最常用的功能:
创建列表该函数提供了一种对相关项目进行分组的简单方法。这些项目不需要具有类似的数据类型,甚至可以是其他列表。以下代码将三个项目分组为一个列表:list (setq lst1 (list 1.0 "One" 1)) (1.0 "One" 1) 也可以使用 (或 ' ) 函数创建列表。quote (setq lst1 '(1.0 "One" 1)) (1.0 "One" 1) 添加或更改列表中的项目该函数允许您将新项目添加到列表的末尾,该函数允许您将新项目添加到列表的开头。该函数可用于替换新项来替换旧项的每次出现。这些函数不会修改原始列表;它们返回一个修改后的列表。如果需要修改原始列表,请显式将旧列表替换为新列表。appendconssubst 该函数接受任意数量的列表,并将它们作为一个列表一起运行。因此,此函数的所有参数都必须是列表。下面的代码将另一个“一”添加到存储在 中的列表中。appendlst1 (setq lst2 (append lst1 '("One"))) (1.0 "One" 1 "One") 该函数将单个元素与列表组合在一起。您可以使用函数将另一个字符串“One”添加到列表的开头。conslst2cons (setq lst3 (cons "One" lst2 )) ("One" 1.0 "One" 1 "One") 您可以使用该函数将列表中某个项目的所有匹配项替换为新项目。以下代码将所有字符串“One”替换为字符串“one”。subst (setq lst4 (subst "one" "One" lst3)) ("one" 1.0 "one" 1 "one") 从列表中检索项目您可以使用该函数从列表中检索特定项目。此函数接受两个参数。第一个参数是一个整数,用于指定要返回的项。列表以 0 索引开头。0 指定列表中的第一项,1 指定第二项,依此类推。第二个参数是列表本身。下面的代码返回 中的第二项。nthlst1 (nth 1 lst1) "One" 该函数返回列表的第一项。例如:car (car lst1) 1.0 该函数将列表中的所有项目作为新列表返回,但第一项除外。例如:cdr (cdr lst1) ("One" 1) AutoLISP 还提供了许多附加函数,这些函数是 和 函数的变体。例如,该函数返回列表的第二个元素,该函数返回列表的第三项。该函数类似于在列表中使用该函数,然后在结果列表中使用该函数。carcdrcadrcaddrcadrcdrcar (cadr lst1) "One" (car (cdr lst1)) "One" 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-16 00:31
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.