「While」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
24行目: 24行目:
</pre>
</pre>


: 次のコードは、線分コマンドを実行後にユーザ入力が終わるまで入力待ちを繰り返す。
<pre class="brush: autolisp;">
(command "_line")
(while (eq 1 (getvar "CMDACTIVE"))
  (command pause)
)
(princ "\nline 終了")
</pre>


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

2011年12月21日 (水) 12:11時点における版

構文
(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 終了")