「Setq (autolisp)」の版間の差分
(ページの作成: ; 構文 : (setq ''sym'' ''expr'' [''sym'' ''expr'']...) ; 機能 : シンボル(1 つまたは複数)に式の値を代入する。 : LISP の基本的な代入関数。setq …) |
編集の要約なし |
||
(同じ利用者による、間の3版が非表示) | |||
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 関数