- 610 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 22:04:41 ]
- (define (remove-at! ls n)
(cond ((null? ls) '()) ((zero? n) ((lambda (tmp) (set-car! ls (cadr ls)) (set-cdr! ls (cddr ls)) tmp) (car ls))) ((= 1 n) (if (null? (cdr ls)) '() (if (null? (cddr ls)) ((lambda (tmp) (set-cdr! ls '()) tmp) (cadr ls)) ((lambda (a b c) (set-car! b (car c)) (set-cdr! b (cdr c)) a) (cadr ls) (cdr ls) (cddr ls))))) (else (remove-at! (cdr ls) (- n 1)))))
|

|