Vl-member-if

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年8月8日 (土) 22:52時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vl-member-if predicate-function list)


機能
リストのメンバーの 1 つに対してテスト結果が真かを調べる。
predicate-function 引数で指定された関数に、list 引数の各要素を渡す。
predicate-function 引数が nil 以外の値を返した場合、member 関数と同様にリストの残りを返す。


引数
  • predicate-function : テスト関数。 単一の引数を受け入れユーザが指定した任意の条件で T を返す任意の関数が指定できる。
predicate-function 引数の値は、次の形式のいずれかが指定可能。
シンボル(関数名)
'(LAMBDA (A1 A2) ...)
(FUNCTION (LAMBDA (A1 A2) ...))
  • list : テストするリスト。


戻り値
テストに合格した最初の要素から始まり、元の引数のそれ以降のすべての要素を含むリスト。 テスト条件を満たす要素が 1 つも存在しない場合、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 関数