CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

vl-each(AutoLISP)

2023-1-7 16:22| 发布者: admin| 查看: 390| 评论: 0|来自: AutoCAD

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

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

支持的平台:视窗和 Mac OS

签名

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

类型:子例程或符号

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

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

类型:列表

要测试的列表。

返回值

类型:T 或零

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

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


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部