「While」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成: ; 構文 : (while ''testexpr'' [''expr''...]) ; 機能 : テスト式を評価して nil でなければ、他の式を評価する。テスト式の評価が nil になる…)
 
編集の要約なし
 
(同じ利用者による、間の5版が非表示)
1行目: 1行目:
{{AutoLISP}}
; 構文
; 構文
: (while ''testexpr'' [''expr''...])  
: (while ''testexpr'' [''expr''...])  
5行目: 7行目:
; 機能
; 機能
: テスト式を評価して nil でなければ、他の式を評価する。テスト式の評価が nil になるまでこの処理を繰り返す。 while 関数は、testexpr が nil になるまで継続する。
: テスト式を評価して nil でなければ、他の式を評価する。テスト式の評価が nil になるまでこの処理を繰り返す。 while 関数は、testexpr が nil になるまで継続する。


; 引数
; 引数
:* testexpr : テスト条件を含んだ式。
:* testexpr : テスト条件を含んだ式。
:* expr : testexpr が nil になるまで評価される 1 つまたは複数の式。
:* expr : testexpr が nil になるまで評価される 1 つまたは複数の式。


; 戻り値
; 戻り値
16行目: 20行目:
; サンプル
; サンプル
: 次のコードは、test に 1 から 10 を設定して、ユーザ定義関数 some-func を 10 回呼び出し、評価された最後の式の値 11 を返す。
: 次のコードは、test に 1 から 10 を設定して、ユーザ定義関数 some-func を 10 回呼び出し、評価された最後の式の値 11 を返す。
<pre class="brush: autolisp;">
  (setq test 1)  
  (setq test 1)  
  (while (<= test 10)  
  (while (<= test 10)  
21行目: 26行目:
   (setq test (1+ test))  
   (setq test (1+ test))  
  )  
  )  
</pre>
: 次のコードは、線分コマンドを実行後にユーザ入力が終わるまで入力待ちを繰り返す。
<pre class="brush: autolisp;">
(command "_line")
(while (eq 1 (getvar "CMDACTIVE"))
  (command pause)
)
(princ "\nline 終了")
</pre>


-----
* [[比較演算と条件]]


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2016年6月10日 (金) 11:17時点における最新版

構文
(while testexpr [expr...])


機能
テスト式を評価して nil でなければ、他の式を評価する。テスト式の評価が nil になるまでこの処理を繰り返す。 while 関数は、testexpr が nil になるまで継続する。


引数
  • testexpr : テスト条件を含んだ式。
  • expr : testexpr が nil になるまで評価される 1 つまたは複数の式。


戻り値
最後の expr の最新の値。


サンプル
次のコードは、test に 1 から 10 を設定して、ユーザ定義関数 some-func を 10 回呼び出し、評価された最後の式の値 11 を返す。
 (setq test 1) 
 (while (<= test 10) 
   (some-func test) 
   (setq test (1+ test)) 
 ) 
次のコードは、線分コマンドを実行後にユーザ入力が終わるまで入力待ちを繰り返す。
 (command "_line") 
 (while (eq 1 (getvar "CMDACTIVE")) 
   (command pause)
 )
 (princ "\nline 終了")