「Setq (autolisp)」の版間の差分
編集の要約なし |
編集の要約なし |
||
| (同じ利用者による、間の1版が非表示) | |||
| 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 : 式。 | ||
; 戻り値 | ; 戻り値 | ||
| 41行目: | 45行目: | ||
nil | nil | ||
!b | !b | ||
1 ;<- 変数a は nil になったが、bは 1 のまま。 | 1 ; <- 変数a は nil になったが、bは 1 のまま。 | ||
; 変数の値は参照渡しではなく値渡し(その2) | |||
(setq a "2" | |||
b a | |||
c b | |||
a nil) | |||
nil | |||
!c | |||
"2" ; <- 変数a は nil になったが、c は "2" のまま。 | |||
</pre> | </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 関数