2009-11-19 34 views

回答

3

你必須自己寫。它不是內置到Scheme中的,因爲它不是慣用的,它可以很容易地從set-car!建立。

(define (list-set! l k obj) 
    (cond 
    ((or (< k 0) (null? l)) #f) 
    ((= k 0) (set-car! l obj)) 
    (else (list-set! (cdr l) (- k 1) obj)))) 

如果你這樣做了很多,你應該看看使用矢量和vector-set!來代替。

+0

好的,我會研究一下。 – 2009-11-19 05:28:55