明经通道 Visual LISP 函数  
vl-member-if
 

确定论断是否对每一个表成员都正确

(vl-member-if  predicate-functionlist)

vl-member-if 函数将 list 中的每一个元素传递给 predicate-function 中指定的函数。如果 predicate-function 返回的值不是 nil,则 vl-member-if 返回表中剩余的部分,其方式和 member 函数一样。

参数

predicate-function

测试函数。它可以是任何一个这样的函数:接受单一参数,且对任何用户指定条件均返回 T。predicate-function 的值可以采用下列格式之一:

list

要测试的表。

返回值

表,以传递给测试参数的第一个元素开始,包含原始参数中后续的所有元素,如果没有元素传递给测试条件,vl-member-if 返回 nil。

示例

下面的命令绘制直线:

_$ (COMMAND "_.LINE" '(0 10) '(30 50) nil)
nil

如果图元为直线,则下面的命令使用 vl-member-if 返回描述图元的关联表:

_$ (vl-member-if
'(lambda (x) (= (cdr x) "AcDbLine"))
   (entget (entlast)))
((100 . "AcDbLine") (10 0.0 10.0 0.0) (11 30.0 50.0 0.0) (210 0.0 0.0 1.0)) 

参阅

vl-member-if-not 函数。

明经通道 版权所有 未经许可 不得传播

 评论