「Setq (autolisp)」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
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" のまま。


関連事項