「Progn」の版間の差分
細編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (progn [''expr'']...) | : (progn [''expr'']...) | ||
10行目: | 11行目: | ||
; 引数 | ; 引数 | ||
:* expr : 1 つ以上の LISP 式。 | :* expr : 1 つ以上の LISP 式。 | ||
; 戻り値 | ; 戻り値 | ||
: 最後に評価した式の結果。 | : 最後に評価した式の結果。 | ||
; サンプル | ; サンプル | ||
<pre class="brush: autolisp;"> | |||
(setq a 9) | (setq a 9) | ||
(if (>= a 8) | (if (>= a 8) | ||
21行目: | 25行目: | ||
(setq (1+ b) | (setq (1+ b) | ||
)) | )) | ||
'''10''' | '''10''' | ||
</pre> | |||
: --- | : --- | ||
: if 関数は通常、テスト式の評価結果が nil 以外の場合、1 つの then 式を評価する。 | : if 関数は通常、テスト式の評価結果が nil 以外の場合、1 つの then 式を評価する。 | ||
: 次の例は progn 関数を使用して、if 関数の後の 2 つの式を評価している。 | : 次の例は progn 関数を使用して、if 関数の後の 2 つの式を評価している。 | ||
<pre class="brush: autolisp;"> | |||
(setq a 1 b 1) | (setq a 1 b 1) | ||
(if (= a b) | (if (= a b) | ||
34行目: | 41行目: | ||
A = B | A = B | ||
'''-9''' | '''-9''' | ||
</pre> | |||
----- | ----- |
2021年5月27日 (木) 07:17時点における最新版
- 構文
- (progn [expr]...)
- 機能
- 各式を順に評価して最後の式の値を返す。
- progn 関数を使用すると、1 つの式しか指定できない箇所で複数の式を評価できる。
- 引数
-
- expr : 1 つ以上の LISP 式。
- 戻り値
- 最後に評価した式の結果。
- サンプル
(setq a 9) (if (>= a 8) (progn (setq b a) (setq (1+ b) )) '''10'''
- ---
- if 関数は通常、テスト式の評価結果が nil 以外の場合、1 つの then 式を評価する。
- 次の例は progn 関数を使用して、if 関数の後の 2 つの式を評価している。
(setq a 1 b 1) (if (= a b) (progn (princ "¥nA = B ") (setq a (+ a 10) b (- b 10)) ) ) A = B '''-9'''
関連事項
- if 関数