「Defun-q-list-set」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
 
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
{{AutoLISP}}
; 構文
; 構文
: (defun-q-list-set '''sym'' ''list'')  
: (defun-q-list-set '''sym'' ''list'')  
5行目: 6行目:
; 機能
; 機能
: シンボルの値を設定し、リストによって定義された関数にする。
: シンボルの値を設定し、リストによって定義された関数にする。


; 引数
; 引数
:* sym : 関数名のシンボル。
:* sym : 関数名のシンボル。
:* list : 関数に含まれる式を含んだリスト。
:* list : 関数に含まれる式を含んだリスト。


; 戻り値
; 戻り値
: 定義された sym。
: 定義された sym。


; サンプル
; サンプル
: (defun-q-list-set 'foo '((x) x))  
<pre class="brush: autolisp;">
: ''FOO''  
(defun-q-list-set 'foo '((x) x))  
: (foo 3)  
''FOO''  
: 3  
(foo 3)  
: ---
3  
</pre>
 
: 次の例では、defun-q-list-set 関数を使用して、2 つの関数を 1 つの関数に結合する。
: 次の例では、defun-q-list-set 関数を使用して、2 つの関数を 1 つの関数に結合する。
: defun-q 関数を使用して 2 つの関数を定義。
: defun-q 関数を使用して 2 つの関数を定義。
<pre class="brush: autolisp;">
  (defun-q s::startup (x) (print x))  
  (defun-q s::startup (x) (print x))  
  S::STARTUP  
  S::STARTUP  
26行目: 34行目:
  (defun-q my-startup (x) (print (list x)))  
  (defun-q my-startup (x) (print (list x)))  
  MY-STARTUP  
  MY-STARTUP  
</pre>
: defun-q-list-set 関数を使用して、上記の関数を 1 つの関数に結合。
: defun-q-list-set 関数を使用して、上記の関数を 1 つの関数に結合。
<pre class="brush: autolisp;">
  (defun-q-list-set 's::startup (append  
  (defun-q-list-set 's::startup (append  
   (defun-q-list-ref 's::startup)  
   (defun-q-list-ref 's::startup)  
   (cdr (defun-q-list-ref 'my-startup))))  
   (cdr (defun-q-list-ref 'my-startup))))  
  '''S::STARTUP'''  
  '''S::STARTUP'''  
</pre>
: 次に、2 つの関数がそれぞれどのように応答するか、
: 次に、2 つの関数がそれぞれどのように応答するか、
: および defun-q-list-set 関数を使用して結合した後の関数がどのように動作するかを示す。
: および defun-q-list-set 関数を使用して結合した後の関数がどのように動作するかを示す。
<pre class="brush: autolisp;">
  (defun-q foo (x) (print (list 'foo x)))  
  (defun-q foo (x) (print (list 'foo x)))  
  FOO  
  FOO  
55行目: 65行目:
  (FOO 3)   
  (FOO 3)   
  (BAR 3) (BAR 3)  
  (BAR 3) (BAR 3)  
 
</pre>
-----
-----
関連事項
関連事項

2020年11月23日 (月) 14:36時点における最新版

構文
(defun-q-list-set 'sym list)


機能
シンボルの値を設定し、リストによって定義された関数にする。


引数
  • sym : 関数名のシンボル。
  • list : 関数に含まれる式を含んだリスト。


戻り値
定義された sym。


サンプル
 (defun-q-list-set 'foo '((x) x)) 
 ''FOO'' 
 (foo 3) 
 3 
次の例では、defun-q-list-set 関数を使用して、2 つの関数を 1 つの関数に結合する。
defun-q 関数を使用して 2 つの関数を定義。
 (defun-q s::startup (x) (print x)) 
 S::STARTUP 
 
 (defun-q my-startup (x) (print (list x))) 
 MY-STARTUP 
defun-q-list-set 関数を使用して、上記の関数を 1 つの関数に結合。
 (defun-q-list-set 's::startup (append 
  (defun-q-list-ref 's::startup) 
  (cdr (defun-q-list-ref 'my-startup)))) 
 '''S::STARTUP''' 
次に、2 つの関数がそれぞれどのように応答するか、
および defun-q-list-set 関数を使用して結合した後の関数がどのように動作するかを示す。
 (defun-q foo (x) (print (list 'foo x))) 
 FOO 
 (foo 1) 
 (FOO 1) (FOO 1) 
 
 (defun-q bar (x) (print (list 'bar x))) 
 BAR 
 (bar 2) 
 (BAR 2) (BAR 2) 
 
 (defun-q-list-set 
  'foo 
  (append (defun-q-list-ref 'foo) 
  (cdr (defun-q-list-ref 'bar)) 
  )) 
 '''FOO''' 
 
 (foo 3) 
 (FOO 3)  
 (BAR 3) (BAR 3) 

関連事項