「Setq (autolisp)」の版間の差分
細 (「Setq」を「Setq (autolisp)」へ移動) |
編集の要約なし |
||
| (同じ利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (setq ''sym'' ''expr'' [''sym'' ''expr'']...) | : (setq ''sym'' ''expr'' [''sym'' ''expr'']...) | ||
| 6行目: | 8行目: | ||
: シンボル(1 つまたは複数)に式の値を代入する。 | : シンボル(1 つまたは複数)に式の値を代入する。 | ||
: LISP の基本的な代入関数。setq 関数は、1 回の関数呼び出しで、複数のシンボルに値を代入することができる。 | : LISP の基本的な代入関数。setq 関数は、1 回の関数呼び出しで、複数のシンボルに値を代入することができる。 | ||
; 引数 | ; 引数 | ||
:* sym : シンボル。 この引数は、評価されない。 | :* sym : シンボル。 この引数は、評価されない。 | ||
:* expr : 式。 | :* expr : 式。 | ||
; 戻り値 | ; 戻り値 | ||
| 16行目: | 20行目: | ||
; サンプル | ; サンプル | ||
: 次の式は、変数 a に 5.0 を代入している。 | <pre class="brush:autolisp;"> | ||
; 次の式は、変数 a に 5.0 を代入している。 | |||
(setq a 5.0) | |||
5.0 ; a は、常に実数の 5.0 に評価される。 | |||
; 次の式は、2 つの変数 b と c に値を代入している。 | |||
(setq b 123 c 4.7) | |||
4.7 ; setq 関数は、最後に代入された変数の値を返す。 | |||
; 次の例では、変数 s に文字列を代入している。 | |||
(setq s "it") | |||
"it" | |||
; 次の例では、変数 x にリストを割り当てている。 | |||
(setq x '(a b)) | |||
(A B) | |||
; 変数の値は参照渡しではなく値渡し | |||
(setq a 1) | |||
1 | |||
(setq b a) | |||
1 | |||
(setq a nil) | |||
nil | |||
!b | |||
1 ; <- 変数a は nil になったが、bは 1 のまま。 | |||
; 変数の値は参照渡しではなく値渡し(その2) | |||
(setq a "2" | |||
b a | |||
c b | |||
a nil) | |||
nil | |||
!c | |||
"2" ; <- 変数a は nil になったが、c は "2" のまま。 | |||
</pre> | |||
----- | ----- | ||
2020年9月15日 (火) 15:46時点における最新版
- 構文
- (setq sym expr [sym expr]...)
- 機能
- シンボル(1 つまたは複数)に式の値を代入する。
- LISP の基本的な代入関数。setq 関数は、1 回の関数呼び出しで、複数のシンボルに値を代入することができる。
- 引数
-
- sym : シンボル。 この引数は、評価されない。
- expr : 式。
- 戻り値
- 最後に評価された expr の結果。
- サンプル
; 次の式は、変数 a に 5.0 を代入している。
(setq a 5.0)
5.0 ; a は、常に実数の 5.0 に評価される。
; 次の式は、2 つの変数 b と c に値を代入している。
(setq b 123 c 4.7)
4.7 ; setq 関数は、最後に代入された変数の値を返す。
; 次の例では、変数 s に文字列を代入している。
(setq s "it")
"it"
; 次の例では、変数 x にリストを割り当てている。
(setq x '(a b))
(A B)
; 変数の値は参照渡しではなく値渡し
(setq a 1)
1
(setq b a)
1
(setq a nil)
nil
!b
1 ; <- 変数a は nil になったが、bは 1 のまま。
; 変数の値は参照渡しではなく値渡し(その2)
(setq a "2"
b a
c b
a nil)
nil
!c
"2" ; <- 変数a は nil になったが、c は "2" のまま。
関連事項
- set 関数