CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于列表处理(AutoLISP)

2023-1-6 13:22| 发布者: admin| 查看: 1740| 评论: 0|来自: AutoCAD

AutoLISP 提供了用于处理列表的函数。本节提供,,,,,,和函数的示例。所有列表处理函数的摘要都在 AutoLISP Function Synopsis (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)

该函数提供了另一种从列表中提取项目的方法。有关使用 and 的更多示例以及两者的组合,请参阅关于点列表 (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")

路过

雷人

握手

鲜花

鸡蛋

最新评论

CAD软件2007~2024远程安装服务

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

GMT+8, 2024-5-7 07:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部