CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2018 开发者帮助

vl-every (AutoLISP)

2024-5-18 16:51| 发布者: admin| 查看: 79| 评论: 0|原作者: admin|来自: AutoCAD

vl-every (AutoLISP)

检查每个元素组合的谓词是否为 true

支持的平台:Windows 和 Mac OS

签名

(vl-every predicate-function list [list ...])
谓词函数

类型:子例程或符号

测试函数。这可以是任何函数,它接受与 一起提供的列表一样多的参数,并返回任何用户指定的条件。谓词函数值可以采用以下形式之一:vl-everyT

  • 符号(函数名称)
  • '(LAMBDA (A1 A2) ...)
  • (FUNCTION (LAMBDA (A1 A2) ...))
列表

类型:列表

要测试的列表。

返回值

类型:T 或 nil

T,如果谓词函数为每个元素组合返回一个非值;否则。nilnil

言论

该函数将每个提供的列表的第一个元素作为参数传递给测试函数,然后传递每个列表中的下一个元素,依此类推。一旦其中一个列表用完,评估就会停止。vl-every

例子

检查当前目录中是否有空文件:

(vl-every
'(lambda (fnm) (> (vl-file-size fnm) 0))
   (vl-directory-files nil nil 1))
T

检查中的数字列表是否按以下顺序排序:nlst'<=

(setq nlst (list 0 2 pi pi 4))
(0 2 3.14159 3.14159 4)

(vl-every '<= nlst (cdr nlst))
T

比较以下表达式的结果:

(vl-every '= '(1 2) '(1 3))
nil

(vl-every '= '(1 2) '(1 2 3))
T

返回第一个表达式是因为比较了每个列表中的第二个元素,并且它们在数值上不相等。第二个表达式返回是因为在处理了较短列表 (1 2) 中的所有元素后停止比较元素,此时列表在数值上相等。如果到达列表的末尾,则返回一个非值。nilvl-everyTvl-everyvl-everynil

下面的示例演示了计算一个包含整数元素的列表和另一个列表时的结果:vl-everynil

(setq alist (list 1 2 3 4))
(1 2 3 4)

(setq junk nil)
nil

(vl-every '= junk alist)
T

返回值是 because 响应列表,就好像它已到达列表的末尾一样(即使谓词尚未应用于任何元素)。并且由于已到达列表的末尾,因此返回一个非值。Tvl-everynilvl-everynil

相关参考

  1. 列表 (AutoLISP)

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 22:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部