2
如果我有一個0的列表,我將如何修改,例如,列表中的第16個0?方案 - 如何修改列表中的單個元素?
如果我有一個0的列表,我將如何修改,例如,列表中的第16個0?方案 - 如何修改列表中的單個元素?
你必須自己寫。它不是內置到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!
來代替。
好的,我會研究一下。 – 2009-11-19 05:28:55