Defun-q-list-set

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年10月29日 (木) 09:48時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(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) 

関連事項