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

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


; 戻り値
; 戻り値

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" のまま。


関連事項