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

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成: ; 構文 : (setq ''sym'' ''expr'' [''sym'' ''expr'']...) ; 機能 : シンボル(1 つまたは複数)に式の値を代入する。 : LISP の基本的な代入関数。setq …)
 
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
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 : 式。


; 戻り値
; 戻り値
16行目: 20行目:


; サンプル
; サンプル
: 次の式は、変数 a に 5.0 を代入している。
<pre class="brush:autolisp;">
: (setq a 5.0)  
; 次の式は、変数 a に 5.0 を代入している。
: '''5.0'''
(setq a 5.0)  
: a は、常に実数の 5.0 に評価される。
5.0   ; a は、常に実数の 5.0 に評価される。
: ---
 
: 次の式は、2 つの変数 b と c に値を代入している。
; 次の式は、2 つの変数 b と c に値を代入している。
: (setq b 123 c 4.7)  
(setq b 123 c 4.7)  
: '''4.7'''
4.7 ; setq 関数は、最後に代入された変数の値を返す。
: ---
 
: setq 関数は、最後に代入された変数の値を返す。
; 次の例では、変数 s に文字列を代入している。
: 次の例では、変数 s に文字列を代入している。
(setq s "it")  
: (setq s "it")  
"it"
: '''"it"'''
 
: ---
; 次の例では、変数 x にリストを割り当てている。
: 次の例では、変数 x にリストを割り当てている。
(setq x '(a b))  
: (setq x '(a b))  
(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" のまま。


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


関連事項