vl-member-if (AutoLISP)

リストのメンバーの 1 つに対してテスト結果が真かを調べます。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(vl-member-if predicate-function lst)
predicate-function

タイプ: サブルーチンまたはシンボル

テスト関数。単一の引数を受け入れ、ユーザが指定した任意の条件で T を返す任意の関数が指定できます。predicate-function 引数の値は、次の形式のいずれかが指定可能です。

  • シンボル(関数名)
  • '(LAMBDA (A1 A2) ...)
  • (FUNCTION (LAMBDA (A1 A2) ...))
lst

タイプ: リスト

テストするリスト。

戻り値

タイプ: リストまたは nil

テストに合格した最初の要素から始まり、元の引数のそれ以降のすべての要素を含むリスト。テスト条件を満足する要素が 1 つも存在しない場合、vl-member-if 関数は nil を返します。

注意

vl-member-if 関数は、predicate-function 引数で指定された関数に、lst 引数の各要素を渡します。predicate-function 引数が nil 以外の値を返した場合、vl-member-if 関数は member 関数と同様に、リストの残りを返します。

次のコマンドは、線分を描きます。

(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))