- 640 名前:初心者 [2005/10/09(日) 00:25:24 ]
- (defun plus-minus (lst &optional plus minus &aux (x (first lst)) (xs (rest lst)))
(cond ((null x) (values plus minus)) ((>= x 0) (print xs) (plus-minus xs (cons x plus) minus)) (t (plus-minus xs plus (cons x minus))))) このコードのxやxsって再帰のたびに更新されていくけど、a (defun test (lis &aux (a (first lis)) (b (rest lis))) (if (not (null (first lis))) (print b)(test b))) これのaやbは再帰しても更新されないよね・・・違いはなんなの? 再帰後にもずっと同じ値がはいったままだったり、再帰後には再帰後の 更新された値が入ったりするその違いって?
|

|