CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于列表处理(AutoLISP)

2023-1-8 12:53| 发布者: admin| 查看: 607| 评论: 0|来自: AutoCAD

AutoLISP 提供了用于处理列表的函数。本节提供 、 、 、 、 和 函数的示例。所有列表处理函数的摘要位于 AutoLISP 函数概要 (AutoLISP) 中,在列表操作函数 (AutoLISP) 标题下。appendassoccarconslistnthsubst

列表提供了一种高效而强大的方法来存储大量相关值。毕竟,LISP之所以如此命名,是因为它是LISt处理语言。一旦你了解了列表的强大功能,你就会发现你可以创建更强大、更灵活的应用程序。

多个 AutoLISP 函数为二维和三维图形应用程序编程提供了基础。这些函数以列表的形式返回点值。

该函数提供了一种对相关项目进行分组的简单方法。这些项目不需要具有相似的数据类型。以下代码将三个相关项分组为一个列表:list

(setq lst1 (list 1.0 "One" 1))

(1.0 "One" 1)

您可以使用该函数从变量的列表中检索特定项。此函数接受两个参数。第一个参数是一个整数,用于指定要返回的项。0 指定列表中的第一项,1 指定第二项,依此类推。第二个参数是列表本身。下面的代码返回 中的第二项。lst1nthlst1

(nth 1 lst1)

"One"

该函数从列表中返回除第一个元素之外的所有元素。例如:cdr

(cdr lst1)

("One" 1)

该函数提供了另一种从列表中提取项目的方法。有关使用 和 的更多示例以及两者的组合,请参见关于点列表 (AutoLISP)。carcarcdr

三个函数允许您修改现有列表。该函数返回一个列表,其中添加了新项,该函数返回一个列表,其中新项添加到列表的开头。该函数返回一个列表,其中包含一个新项替换旧项的每次出现。这些函数不会修改原始列表;它们返回一个修改后的列表。若要修改原始列表,必须显式地将旧列表替换为新列表。appendconssubst

该函数接受任意数量的列表,并将它们作为一个列表一起运行。因此,此函数的所有参数都必须是列表。以下代码将另一个添加到列表中。请注意,使用 (or ) 函数作为将字符串转换为列表的简单方法。append"One"lst1quote ' "One"

(setq lst2 (append lst1 '("One")))

(1.0 "One" 1 "One")

该函数将单个元素与列表组合在一起。您可以使用函数将另一个字符串添加到此新列表的开头。 cons "One"lst2cons

(setq lst3 (cons "One" lst2 ))

("One" 1.0 "One" 1 "One")

您可以将列表中某个项目的所有匹配项替换为具有该函数的新项目。以下代码将所有字符串替换为字符串 。subst"One""one"

(setq lst4 (subst "one" "One" lst3))

("one" 1.0 "one" 1 "one")

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 14:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部