「Vl-some」の版間の差分
細編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の2版が非表示) | |||
16行目: | 16行目: | ||
; | ; | ||
:* list : テストするリスト。 | :* list : テストするリスト。 | ||
; 戻り値 | ; 戻り値 | ||
: predicate-function が nil 以外の値を返した場合はその値。それ以外の場合は nil。 | : predicate-function が nil 以外の値を返した場合はその値。それ以外の場合は nil。 | ||
; サンプル | ; サンプル | ||
; 次の例は、nlst(数値リスト)に、等しい要素が連続して存在するかどうかをチェックしている。 | |||
: (setq nlst (list 0 2 pi pi 4)) | <pre class="brush:autolisp;"> | ||
(setq nlst (list 0 2 pi pi 4)) | |||
(0 2 3.14159 3.14159 4) | |||
(vl-some '= nlst (cdr nlst)) | |||
T | |||
(setq nlst (list 2 2.0 pi 3 4 )) | |||
(2 2.0 3.14159 3 4) | |||
(vl-some '= nlst (cdr nlst)) | |||
T | |||
(setq nlst (list 2 0 pi 3.14159 3 )) | |||
(2 0 3.14159 3.14159 3) | |||
コマンド: (vl-some '= nlst (cdr nlst)) | |||
nil <- pi の値はより小さな小数点も含まれるので 3.14159 と同じではないため nil | |||
(setq nlst (list 0 2 pi 4 pi)) | |||
(0 2 3.14159 4 3.14159) | |||
(vl-some '= nlst (cdr nlst)) | |||
nil <- 連続した値がないので nil | |||
</pre> | |||
----- | |||
関連事項 | |||
* [[vl-every]] | |||
* [[vl-some]] | |||
[[Category:AutoLISP]] | [[Category:AutoLISP]] |
2020年8月25日 (火) 14:13時点における最新版
- 構文
- (vl-some predicate-functionlist [list]...)
- 機能
- 1 つの要素の組み合わせに対して、テスト結果が nil かどうかをチェックする。
- 引数として指定された各リストの最初の要素をテスト関数に渡し、次に各リストの次の要素を渡すというように、各リストの要素を順にテスト関数に渡す。 引数の組み合わせに対してテスト関数が nil 以外の値を返すと、評価を中止する。または、要素数のもっとも少ないリストのすべての要素を処理するまで、評価を継続する。
- 引数
-
- predicate-function : テスト関数。 vl-some 関数に提供されるリストと同じ数の引数を受け入れ、ユーザが指定した任意の条件で T を返す任意の関数を指定できる。
- predicate-function 引数の値は、次の形式のいずれかが指定可能。
- シンボル(関数名)
- '(LAMBDA (A1 A2) ...)
- (FUNCTION (LAMBDA (A1 A2) ...))
-
- list : テストするリスト。
- 戻り値
- predicate-function が nil 以外の値を返した場合はその値。それ以外の場合は nil。
- サンプル
- 次の例は、nlst(数値リスト)に、等しい要素が連続して存在するかどうかをチェックしている。
(setq nlst (list 0 2 pi pi 4)) (0 2 3.14159 3.14159 4) (vl-some '= nlst (cdr nlst)) T (setq nlst (list 2 2.0 pi 3 4 )) (2 2.0 3.14159 3 4) (vl-some '= nlst (cdr nlst)) T (setq nlst (list 2 0 pi 3.14159 3 )) (2 0 3.14159 3.14159 3) コマンド: (vl-some '= nlst (cdr nlst)) nil <- pi の値はより小さな小数点も含まれるので 3.14159 と同じではないため nil (setq nlst (list 0 2 pi 4 pi)) (0 2 3.14159 4 3.14159) (vl-some '= nlst (cdr nlst)) nil <- 連続した値がないので nil
関連事項