「Setq (autolisp)」の版間の差分
編集の要約なし |
編集の要約なし |
||
| 41行目: | 41行目: | ||
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> | ||
2013年2月6日 (水) 17:36時点における版
- 構文
- (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 関数