「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 関数