「Vl-some」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
 
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
16行目: 16行目:
;
;
:* list : テストするリスト。
:* list : テストするリスト。


; 戻り値
; 戻り値
: predicate-function が nil 以外の値を返した場合はその値。それ以外の場合は nil。
: predicate-function が nil 以外の値を返した場合はその値。それ以外の場合は nil。


; サンプル
; サンプル
: 次の例は、nlst(数値リスト)に、等しい要素が連続して存在するかどうかをチェックしている。  
; 次の例は、nlst(数値リスト)に、等しい要素が連続して存在するかどうかをチェックしている。  
: (setq nlst (list 0 2 pi pi 4))  
<pre class="brush:autolisp;">
: (0 2 3.14159 3.14159 4)  
(setq nlst (list 0 2 pi pi 4))  
: (vl-some '= nlst (cdr nlst))  
(0 2 3.14159 3.14159 4)  
: '''T'''
(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



関連事項